PHP에서 .csv파일을 읽어들일때, 숫자의미를 가지는 데이터를 문자열로 읽어들이고 JSON으로 바로 출력시 아래와 같이 숫자의미를 가지는 데이터가 문자열로 출력되는 문제가 발생합니다.
PHP는 데이터 타입이 동적으로 변하기 때문에 JSON으로 출력 시 csv에서 읽어온 데이터의 데이터 타입이 문자열인지 정수형인지 확인하고 사용해야 합니다.
이를 해결하기 위해 두가지 방법이 있습니다.
첫번째, csv파일에서 문자열로 읽고 데이터를 저장할 때 int로 타입캐스팅
두번째, 데이터를 문자열로 php변수에 저장하고 json_encode하는 과정에서 JSON_NUMERIC_CHECK옵션 부여
숫자의미를 가지는 데이터를 문자열로 저장하든 json을 인코딩할때 json_encode메서드에서 JSON_NUMERIC_CHECK옵션을 사용합니다.
JSON_NUMERIC_CHECK옵션은 숫자로만 되어 있는 문자열을 int 형태로 변환시킵니다.
'Dev > PHP' 카테고리의 다른 글
[PHP] php 버퍼 사용과 활용 방안 (6) | 2023.03.12 |
---|