Home >Backend Development >PHP Problem >How to convert php object array into a normal array

How to convert php object array into a normal array

PHPz
PHPzOriginal
2023-04-20 09:10:32571browse

In PHP, we usually use object arrays to store and manipulate data, but in some cases, we need to convert object arrays into ordinary arrays to process data more conveniently. In this article, we will explain how to convert an array of objects into a normal array in PHP.

1. Definition of object array and ordinary array

In PHP, object array and ordinary array are important data structures used to store and operate data.

Object arrays usually consist of a set of objects, each object is an instance of a class that defines a set of properties and methods. For example, the following is an example of an object array:

$user1 = new stdClass();
$user1->id = 1;
$user1->name = 'Tom';
$user1->age = 25;

$user2 = new stdClass();
$user2->id = 2;
$user2->name = 'Jerry';
$user2->age = 30;

$users = [$user1, $user2];

In the above example, we define an object array $users containing two user objects. Each user object contains three attributes: id, name and age. .

Ordinary arrays are composed of a set of scalar values. The scalar values ​​can be integers, strings, floating point numbers, etc. For example, the following is an example of a normal array:

$numbers = [1, 2, 3, 4, 5];

In the above example, we have defined a normal array $numbers containing five integer values.

2. Convert object array to ordinary array

Although object array and ordinary array store data in different ways, sometimes we need to convert object array to ordinary array for convenience Process the data.

In PHP, there are many ways to convert an object array into a normal array, several of which will be introduced below.

1. Use a foreach loop to traverse the object array and convert each object into an array

$usersArray = [];
foreach ($users as $user) {
    $usersArray[] = (array) $user;
}

In the above example, we first define a new array $usersArray, and then use a foreach loop to traverse the original Array of objects $users, convert each object to an array and add to new array $usersArray.

When converting an object into an array, we use the cast operator (array), which converts the object into an array type, and uses the properties of the object as the key value of the array, and the attribute value as the array type. value.

2. Use the array_map function to convert each object into an array

$usersArray = array_map('get_object_vars', $users);

In the above example, we use the PHP built-in function array_map. The first parameter is a callback function. The callback function Will be used to convert the object to an array, and the second parameter is the original object array $users.

In the callback function get_object_vars, we pass in the object as a parameter and use the built-in function get_object_vars to convert the object into an array and return the array result.

3. Use the json_encode and json_decode functions for conversion

$usersJson = json_encode($users);
$usersArray = json_decode($usersJson, true);

In the above example, we used the json_encode and json_decode functions to convert the object array into a normal array.

First, we use the json_encode function to convert the original object array $users into a JSON string, then use the json_decode function to convert the JSON string back to the array type, and set the second parameter to true to indicate the conversion result. is an associative array.

It should be noted that when using the json_decode function, if the second parameter is set to false or not set, the conversion result will be an object, not an array.

3. Summary

This article introduces three methods to convert object arrays into ordinary arrays in PHP, namely using foreach loop conversion, array_map function conversion and json_encode/json_decode function conversion.

No matter which method you choose, you can easily convert the object array into a normal array and facilitate data processing.

The above is the detailed content of How to convert php object array into a normal array. 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