JSON (JavaScript Object Notation) is a lightweight data exchange format commonly used for front-end and back-end data transmission. The PHP array is a very common data structure, mainly used to store and manipulate data. In actual development, we often need to convert the JSON data received from the front end into a PHP array to facilitate subsequent processing and storage. This article will introduce how to convert JSON data into PHP arrays and object arrays.
JSON is a lightweight data exchange format that is very common in front-end and back-end interactions. Unlike XML, JSON is more concise and easy to parse. For example, here is a simple JSON data example:
{ "name": "Lucy", "age": 18, "gender": "female" }
Let's take a look at this JSON data structure. It is actually an object containing three key-value pairs. Each key-value pair consists of a key and a value, separated by colons, and key-value pairs are separated by commas. The key is a string, and the value can be a different data type such as string, number, Boolean, object, array, etc.
In PHP, we can use the json_decode()
function to convert JSON data to PHP array. This function accepts two parameters. The first parameter is the JSON data to be parsed. The second parameter is a Boolean value, which defaults to false, and specifies whether to convert the JSON data to an associative array instead of an object. Here is a simple example:
$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }'; $php_data = json_decode($json_data); // 输出转换后的 PHP 数组 var_dump($php_data);
The output is as follows:
array(3) { ["name"]=> string(4) "Lucy" ["age"]=> int(18) ["gender"]=> string(6) "female" }
As shown above, the json_decode()
function successfully converts JSON data into a PHP array. If the second parameter is true, that is, converting JSON data into an associative array, then we can write like this:
$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }'; $php_data = json_decode($json_data, true); // 输出转换后的 PHP 关联数组 var_dump($php_data);
The output result is as follows:
array(3) { ["name"]=> string(4) "Lucy" ["age"]=> int(18) ["gender"]=> string(6) "female" }
If the JSON data contains multiple objects, we need to convert them into PHP object arrays. The following is an example of a JSON array:
[ { "name": "Lucy", "age": 18, "gender": "female" }, { "name": "Tom", "age": 20, "gender": "male" } ]
We can use the json_decode()
function to convert this JSON array to a PHP array, and then use foreach
to loop through the array, Each array element is converted into a PHP object. The following is the sample code:
$json_data = '[{ "name": "Lucy", "age": 18, "gender": "female" }, { "name": "Tom", "age": 20, "gender": "male" }]'; $php_data = json_decode($json_data); // 将数组元素转换为 PHP 对象 foreach ($php_data as $item) { $obj_array[] = (object) $item; } // 输出转换后的 PHP 对象数组 var_dump($obj_array);
The output is as follows:
array(2) { [0]=> object(stdClass)#1 (3) { ["name"]=> string(4) "Lucy" ["age"]=> int(18) ["gender"]=> string(6) "female" } [1]=> object(stdClass)#2 (3) { ["name"]=> string(3) "Tom" ["age"]=> int(20) ["gender"]=> string(4) "male" } }
In this code, we first use the json_decode()
function to convert the JSON data into a PHP array. Then, we loop through the array through foreach
, convert each array element into a PHP object, and store it in $obj_array
. When converting to a PHP object, we use (object)
cast to convert the array elements into a PHP object.
This article describes how to convert JSON data into PHP arrays and object arrays. In actual development, we need to frequently interact with front-end and back-end data, so it is very important to understand the conversion between JSON and PHP arrays. It should be noted that when converting, we need to know the data type we are operating in order to correctly use the corresponding function for processing.
The above is the detailed content of How to convert json to php array object. For more information, please follow other related articles on the PHP Chinese website!