Home  >  Article  >  Backend Development  >  How to convert php array and json array objects to each other

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

PHPz
PHPzOriginal
2023-04-24 15:48:54709browse

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);

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

["apple","banana","cherry"]

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 '
';

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

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

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);

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

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

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 '
';

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] => 英国
      )

)

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!

Statement:
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