Home  >  Article  >  Backend Development  >  How to convert object into array in php

How to convert object into array in php

PHPz
PHPzOriginal
2023-04-23 09:19:20704browse

In PHP development, we often need to convert an object into an array to facilitate manipulation and processing of data. This article will introduce how to convert an object into an array.

1. Use type conversion

In PHP, we can use type conversion to convert an object into an array, and use the object-to-array function "get_object_vars()" to obtain an array of all attributes of the object. express. We can then use type conversion to convert this array representation into a standard array.

For example, we have a Person object, which has two properties: "name" and "age":

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person();

We can use the following PHP code to convert the Person object into an array:

$arrPerson = (array)$person;
print_r($arrPerson);

The output result is:

Array
(
    [name] => 张三
    [*age] => 20
)

It should be noted that when using the type conversion method to convert the object, the private properties will not be converted. Therefore, in the above output, we see that the private property "age" is converted to "*age".

2. Use JSON encoding

PHP's "json_encode()" function can convert the object into JSON format representation, and we can then use the "json_decode()" function to convert it into an array. This method is more flexible than type conversion and can convert private properties.

For example, we use the same Person object as the above example to demonstrate this method:

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person(); 
$arrPerson = json_decode(json_encode($person), true); 
print_r($arrPerson);

The output results are as follows:

Array
(
    [name] => 张三
    [age] => 20
)

3. Manual conversion

In addition to the above two methods, you can also manually convert the object into an array. The advantage of this method is that you can fully control the conversion process and customize the key values ​​of the returned array.

For example, we can add a "toArray()" method to the Person object to manually convert:

class Person {
    public $name = '张三';
    private $age = 20;

    public function toArray()
    {
        return [
            'name' => $this->name,
            'age' => $this->age
        ];
    }
}

$person = new Person();
$arrPerson = $person->toArray();
print_r($arrPerson);

The output result is as follows:

Array
(
    [name] => 张三
    [age] => 20
)

With the manual conversion method, we Not only can you fully control the conversion process, but you can also customize the key values ​​of the returned array. In this way, we can easily convert objects into arrays to manipulate and process data.

Summary

This article introduces three methods on how to convert objects into arrays: using type conversion, using JSON encoding, and manual conversion. Among them, using type conversion and JSON encoding are relatively simple and common methods, while manual conversion is more flexible and can customize the key values ​​of the returned array. In the actual development process, we can choose the appropriate method to convert objects according to specific needs.

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