When developing web applications using PHP, we often need to convert string JSON into an array or object array. Because JSON is one of the commonly used data formats in web development, converting JSON to an array or object array is a very common operation.
In this article, we will introduce how to convert string JSON to array or object array in PHP.
There is a built-in function json_decode() in PHP that can convert a JSON string into an array or an array of objects.
This function has two parameters:
(1) String JSON: JSON string that needs to be converted.
(2) Boolean assoc: The default value is false, which means an object array is generated. If this parameter is set to true, an associative array will be generated.
Here is a simple example:
<?php // JSON字符串 $jsonStr = '{"name":"Tom", "age":30, "city":"New York"}'; // 将JSON字符串转换为关联数组 $arr = json_decode($jsonStr, true); // 输出数组内容 print_r($arr); ?>
Output result:
Array ( [name] => Tom [age] => 30 [city] => New York )
If we You don't need an associative array, but an array of objects, you can set the assoc parameter to false or don't pass it.
Here is an example:
<?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"; } ?>
Output result:
Name: Tom, Age: 30 Name: Jerry, Age: 35
In some cases, JSON strings may contain nested objects and arrays, and we can use recursive functions to easily convert them to object arrays.
Here is a simple example:
<?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); ?>
Output result:
Array ( [name] => Tom [age] => 30 [address] => Array ( [city] => New York [country] => USA ) [friends] => Array ( [0] => Jerry [1] => Kate ) )
Summary
In this article, we introduced how to convert characters in PHP Convert string JSON to array or object array. Whether you are converting JSON to an array using the json_decode() function or converting JSON to an array of objects, it can be done very easily and effortlessly. If the JSON string contains nested objects and arrays, we can also use recursive functions to convert it into an object array. When we need to use JSON data, these techniques can help us simplify our programming work and improve productivity.
The above is the detailed content of PHP string json to array object array. For more information, please follow other related articles on the PHP Chinese website!