PHP를 사용하여 웹 애플리케이션을 개발할 때 문자열 JSON을 배열 또는 객체 배열로 변환해야 하는 경우가 많습니다. JSON은 웹 개발에서 일반적으로 사용되는 데이터 형식 중 하나이기 때문에 JSON을 배열 또는 개체 배열로 변환하는 것은 매우 일반적인 작업입니다.
이 기사에서는 PHP에서 문자열 JSON을 배열 또는 객체 배열로 변환하는 방법을 소개합니다.
PHP에는 JSON 문자열을 배열 또는 객체 배열로 변환할 수 있는 내장 함수 json_decode()가 있습니다.
이 함수에는 두 개의 매개변수가 있습니다:
(1) 문자열 JSON: 변환해야 하는 JSON 문자열입니다.
(2) Boolean assoc: 기본값은 false이며, 이는 객체 배열이 생성됨을 의미합니다. 이 매개변수를 true로 설정하면 연관 배열이 생성됩니다.
다음은 간단한 예입니다:
<?php // JSON字符串 $jsonStr = '{"name":"Tom", "age":30, "city":"New York"}'; // 将JSON字符串转换为关联数组 $arr = json_decode($jsonStr, true); // 输出数组内容 print_r($arr); ?>
출력 결과:
Array ( [name] => Tom [age] => 30 [city] => New York )
연관 배열이 필요하지 않고 객체 배열이 필요한 경우 assoc 매개 변수를 false로 설정할 수 있습니다. 이 매개변수를 전달합니다.
예는 다음과 같습니다.
<?php // JSON字符串 $jsonStr = '[{"name":"Tom", "age":30}, {"name":"Jerry", "age":35}]'; // 将JSON字符串转换为对象数组 $objArr = json_decode($jsonStr); // 输出对象数组内容 foreach($objArr as $obj) { echo "Name: " . $obj->name . ", Age: " . $obj->age . "\n"; } ?>
출력 결과:
Name: Tom, Age: 30 Name: Jerry, Age: 35
어떤 경우에는 JSON 문자열에 중첩된 개체와 배열이 포함될 수 있으므로 쉽게 변환할 수 있습니다. 재귀 함수를 사용하는 객체 배열.
다음은 간단한 예입니다:
<?php // JSON字符串 $jsonStr = '{"name":"Tom", "age":30, "address":{"city":"New York", "country":"USA"}, "friends":["Jerry", "Kate"]}'; // 将JSON字符串转换为对象数组 $obj = json_decode($jsonStr); // 递归地将嵌套的对象和数组转换为对象数组 function object_to_array($obj) { if(is_object($obj)) $obj = (array)$obj; if(is_array($obj)) { foreach($obj as $key=>$val) { $obj[$key] = object_to_array($val); } } return $obj; } // 输出对象数组内容 $objArr = object_to_array($obj); print_r($objArr); ?>
출력 결과:
Array ( [name] => Tom [age] => 30 [address] => Array ( [city] => New York [country] => USA ) [friends] => Array ( [0] => Jerry [1] => Kate ) )
Summary
이 기사에서는 PHP에서 문자열 JSON을 배열 또는 객체 배열로 변환하는 방법을 다루었습니다. json_decode() 함수를 사용하여 JSON을 배열로 변환하든, JSON을 객체 배열로 변환하든 관계없이 매우 쉽고 쉽게 수행할 수 있습니다. JSON 문자열에 중첩된 개체와 배열이 포함된 경우 재귀 함수를 사용하여 이를 개체 배열로 변환할 수도 있습니다. JSON 데이터를 사용해야 할 때 이러한 기술은 프로그래밍 작업을 단순화하고 생산성을 향상시키는 데 도움이 될 수 있습니다.
위 내용은 객체 배열을 배열하는 PHP 문자열 json의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!