Home > Backend Development > PHP Problem > How to convert json to php array object

How to convert json to php array object

PHPz
Release: 2023-04-26 13:42:02
Original
505 people have browsed it

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.

What is JSON?

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"
}
Copy after login

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.

Convert JSON data to PHP array

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);
Copy after login

The output is as follows:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}
Copy after login
Copy after login

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);
Copy after login

The output result is as follows:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}
Copy after login
Copy after login

Convert JSON data into a PHP object array

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" }
]
Copy after login

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);
Copy after login

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"
  }
}
Copy after login

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.

Summary

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template