How to convert php array and json array objects to each other

PHPz
Release: 2023-04-24 16:59:16
Original
722 people have browsed it

During the PHP development process, we usually need to convert arrays to JSON for display on the front end or for transferring data between different systems. At the same time, sometimes we also need to convert a PHP array to an object array or an object array to a JSON array. This article will explain how to complete these conversion operations in PHP.

1. PHP array to JSON

In PHP, we can use the json_encode() function to convert the array to JSON. This function accepts an array as argument and converts it into a JSON formatted string. The following is a sample code:

$fruits = array('apple', 'banana', 'cherry');
echo json_encode($fruits);
Copy after login

After the code is executed, the following results will be output:

["apple","banana","cherry"]
Copy after login

2. PHP array to object array

Sometimes, we need to convert PHP Arrays are converted to arrays of objects for easier manipulation and processing in programs. In order to complete this conversion operation, we need to first define an empty object and then add properties and values ​​to it. The following is a sample code:

$person = array(
   'name' => '张三',
   'age' => 26,
   'country' => '中国'
);

$objPerson = new stdClass();

foreach ($person as $key => $value) {
   $objPerson->$key = $value;
}

echo '<pre class="brush:php;toolbar:false">';
print_r($objPerson);
echo '
';
Copy after login

After the code is executed, the following results will be output:

stdClass Object
(
   [name] => 张三
   [age] => 26
   [country] => 中国
)
Copy after login

3. Convert object array to JSON array

In some cases, we The object array needs to be converted into a JSON array to display or transmit data on the front end. In order to complete this conversion operation, we can use the json_encode() function and type casting techniques. The following is a sample code:

$users = array(
   array('name' => '张三', 'age' => 26, 'country' => '中国'),
   array('name' => '李四', 'age' => 28, 'country' => '美国'),
   array('name' => '王五', 'age' => 30, 'country' => '英国')
);

$objUsers = array();

foreach ($users as $user) {
   $objUser = new stdClass();
   foreach ($user as $key => $value) {
      $objUser->$key = $value;
   }
   array_push($objUsers, $objUser);
}

echo json_encode((array)$objUsers);
Copy after login

After the code is executed, the following results will be output:

[{"name":"张三","age":26,"country":"中国"},{"name":"李四","age":28,"country":"美国"},{"name":"王五","age":30,"country":"英国"}]
Copy after login

4. Convert JSON array to object array

Sometimes, we need to convert JSON Arrays are converted to arrays of objects for easier manipulation and processing in programs. In order to complete this conversion operation, we need to use the json_decode() function and type casting techniques. The following is a sample code:

$jsonUsers = '[{"name":"张三","age":26,"country":"中国"},{"name":"李四","age":28,"country":"美国"},{"name":"王五","age":30,"country":"英国"}]';

$objUsers = json_decode($jsonUsers);

$arrUsers = array();

foreach ($objUsers as $user) {
   $arrUser = array();
   foreach ($user as $key => $value) {
      $arrUser[$key] = $value;
   }
   array_push($arrUsers, $arrUser);
}

echo '
';
print_r($arrUsers);
echo '
';
Copy after login

After the code is executed, the following results will be output:

Array
(
   [0] => Array
      (
         [name] => 张三
         [age] => 26
         [country] => 中国
      )

   [1] => Array
      (
         [name] => 李四
         [age] => 28
         [country] => 美国
      )

   [2] => Array
      (
         [name] => 王五
         [age] => 30
         [country] => 英国
      )

)
Copy after login

The above is PHP array to JSON, PHP array to object array, object array to JSON array, JSON The operation method of converting array to object array, I hope it can be helpful to PHP developers.

The above is the detailed content of How to convert php array and json array objects to each other. 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