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
PHPzOriginal
2023-04-04 16:15:54620browse

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' => '男'
);

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

$object_array = (object) $array;

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;  // 输出:男

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

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!

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