현재 위치: > 최신 기사 목록> [PHP에서 JSON 데이터를 가로 지르는 가이드 : 배열 및 객체 처리 방법에 대한 자세한 설명]

[PHP에서 JSON 데이터를 가로 지르는 가이드 : 배열 및 객체 처리 방법에 대한 자세한 설명]

gitbox 2025-06-24

최신 웹 애플리케이션 개발에서는 PHP 및 JSON 데이터가 매우 일반적입니다. 가벼운 데이터 형식으로 JSON은 가독성과 구조가 우수하며 PHP가 제공하는 내장 기능을 통해 이러한 유형의 데이터를 쉽게 처리하고 전환 할 수 있습니다.

이 기사는 PHP에서 JSON 데이터를 구문 분석하고 가로 지르는 방법을 체계적으로 설명하여 배열, 객체 및 중첩 구조의 처리 방법을 마스터하여 개발 효율성 및 코드 품질을 향상시킬 수 있도록 도와줍니다.

JSON 데이터를 구문 분석하는 방법

JSON 데이터를 횡단하기 전에 먼저 PHP 인식 가능한 형식으로 변환해야합니다. JSON_DECODE () 함수를 통해 구현할 수 있습니다.

 
$json = '{"name": "John", "age": 30, "city": "New York"}';
$data = json_decode($json, true); // 연관 배열로 변환합니다
  

두 번째 매개 변수가 true 로 설정되면 JSON 문자열이 PHP 배열로 변환되고 False (또는 생략)로 설정되면 기본적으로 객체로 변환됩니다.

JSON 어레이를 통해 반복합니다

JSON 데이터를 배열로 변환 한 후 Foreach 문을 사용하여 트래버스를 사용할 수 있습니다.

 
foreach ($data as $key => $value) {
    echo "$key: $value\n";
}
  

위의 코드는 각 키와 JSON의 해당 값을 순서대로 출력합니다. 이 접근법은 간단한 구조화 된 JSON 데이터를 처리하는 데 이상적입니다.

JSON 객체를 통해 반복하십시오

JSON 데이터가 객체 형태로 구문 분석되면 Foreach를 사용하여 트래버스를 사용할 수도 있습니다.

 
$json = '{"name": "John", "age": 30, "city": "New York"}';
$data = json_decode($json);

foreach ($data as $key => $value) {
    echo "$key: $value\n";
}
  

배열이든 객체 구조이든, PHP는 비슷한 방식으로 키 값 쌍에 액세스 할 수 있으므로 특정 요구에 따라 해당 형식을 선택하십시오.

JSON 처리 중첩 구조

실제로 JSON 데이터는 종종 중첩 구조이며, 단일 계층 트래버스는 더 이상 요구를 충족시킬 수 없습니다. 현재 재귀 함수를 사용하여 각 계층의 데이터를 깊이 처리 할 수 ​​있습니다.

 
function traverse($data) {
    if (is_array($data) || is_object($data)) {
        foreach ($data as $key => $value) {
            if (is_array($value) || is_object($value)) {
                traverse($value); // 중첩 구조를 재귀 적으로 처리합니다
            } else {
                echo "$key: $value\n";
            }
        }
    }
}

$json = '{"name": "John", "info": {"age": 30, "city": "New York"}}';
$data = json_decode($json);
traverse($data);
  

위의 기능을 통해 데이터 유형을 판단하고 재귀 적으로 처리하여 복잡한 중첩 중첩 JSON 데이터 구조를 완전히 통과 할 수 있습니다.

요약

PHP는 간결하고 강력한 JSON 데이터 분석 및 트래버스 기능을 제공합니다. 간단한 구조이든 멀티 레이어 중첩이든 JSON_DECODEForeach 또는 재귀 함수를 결합하여 효율적인 데이터 처리를 달성 할 수 있습니다.

이러한 방법을 마스터하면 코드 품질을 향상시키는 데 도움이 될뿐만 아니라 다양한 실제 개발 시나리오에서 데이터 상호 작용 요구에 더 잘 대응합니다.