Home > Backend Development > PHP Problem > Detailed explanation of how to convert an array into an object array in PHP

Detailed explanation of how to convert an array into an object array in PHP

PHPz
Release: 2023-04-04 21:22:02
Original
608 people have browsed it

In PHP, we usually use arrays and objects to organize and store data, and in some scenarios, we need to convert arrays into object arrays to operate data more conveniently. So, how to convert an ordinary array into an object array?

A simple and fast way is to use PHP's built-in function json_decode(). This function is usually used to decode JSON strings, but it can also convert an associative array to an object array. The specific steps are as follows:

First, we define a simple array:

$array = array(
  'name' => '张三',
  'age' => 20,
  'gender' => '男'
);
Copy after login

Then, we can use the json_decode() function to convert this array into an object array:

$object_array = (object) $array;
Copy after login

Here, we use a forced type conversion method to force the array to an object type. In this way, $object_array becomes an object array, and the value can be obtained through attribute access:

echo $object_array->name;  // 输出:张三
echo $object_array->age;   // 输出:20
echo $object_array->gender;  // 输出:男
Copy after login

It should be noted that if any key name in the original array is an illegal attribute name, then the key name will be in Excluded when converting to an array of objects. Additionally, all converted properties will be public and therefore accessible directly via properties.

In addition, if you need to convert a multi-dimensional array into an array of multiple objects, you can use the RecursiveArrayIterator and RecursiveIteratorIterator classes provided by PHP. The sample code is as follows:

function arrayToObject($array) {
  if (is_array($array)) {
    return array_map(__FUNCTION__, $array);
  } else if (is_object($array)) {
    $object = new stdClass();
    foreach ($array as $key => $value) {
      $object->$key = __FUNCTION__($value);
    }
    return $object;
  } else {
    return $array;
  }
}
Copy after login

In the above code, we use recursion way to convert a multidimensional array into an array of multiple objects. This function can be used to convert multidimensional arrays of arbitrary depth.

In summary, converting an array into an object array is a flexible way to easily manipulate and access data. We can easily accomplish this conversion process by using the built-in functions or custom functions provided by PHP.

The above is the detailed content of Detailed explanation of how to convert an array into an object array in PHP. 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