PHP에서는 json_decode() 함수와 foreach 반복문을 조합하면 JSON 배열의 데이터를 간편하게 구문 분석(파싱)할 수 있습니다. 아래 예제 코드를 통해 실제 사용 방법을 살펴보겠습니다.
예제
<?php
$json_array ='{
"values": {
"a": "abc",
"d": 0,
"efg": 349
}
}';
$array = json_decode($json_array, true);
foreach($array as $values) {
echo $values['efg'];
echo $values['d'];
echo $values['a'];
}
코드 설명
위 코드의 핵심은 json_decode() 함수입니다. 두 번째 인자로 true를 전달하면 JSON 문자열이 객체(stdClass)가 아닌 연관 배열(associative array) 형태로 변환됩니다. 이렇게 변환된 배열은 foreach 반복문으로 순회하면서 각 키('efg', 'd', 'a')에 해당하는 값을 자유롭게 가져올 수 있습니다.
만약 두 번째 인자를 생략하거나 false를 전달하면 객체 형태로 디코딩되기 때문에, 이 경우에는 $values->efg처럼 화살표 연산자로 접근해야 한다는 점에 유의하세요.
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
3490abc