Home  >  Article  >  Backend Development  >  php convert object to array object

php convert object to array object

王林
王林Original
2023-05-11 09:49:06546browse

In PHP, we usually need to pass and process data. When processing data, we need to convert an object into an array object. PHP provides a very convenient method for this.

In PHP, we can use the get_object_vars function to convert an object into an array object. This function accepts an object as a parameter and returns an array containing all member variables of the object and their corresponding values.

The following is an example of using the get_object_vars function to convert an object into an array object:

class Person {
    public $name = "John";
    public $age = 30;
    private $gender = "Male";
}

$person = new Person();

$array = get_object_vars($person);

print_r($array);

Output result:

Array
(
    [name] => John
    [age] => 30
)

As you can see from the above code Out, we use the get_object_vars function to convert the instance $person of the Person class into the array $array. Array $array contains member variables name and age and their corresponding values.

It should be noted that the value of the private member variable of the class cannot be obtained using the get_object_vars function. In the example above, the value of the private member variable gender is not converted to an element in the array.

If we need to get the private member variables of the class, we can use the __get function in the PHP access control syntax. This function is used to obtain the private member variables of the object and their corresponding values.

The following is an example of using the __get function to convert the private member variables of an object into an array object:

class Person {
    public $name = "John";
    public $age = 30;
    private $gender = "Male";

    public function __get($property) {
        if (property_exists($this, $property)) {
            return $this->$property;
        }
    }
}

$person = new Person();

$array = array();

foreach ($person as $key => $value) {
    $array[$key] = $value;
}

print_r($array);

Output results:

Array
(
    [name] => John
    [age] => 30
    [gender] => Male
)

From above As can be seen from the code, we use the __get function to obtain the value of the private member variable gender of the object $person and add it to $ array in the array. Finally, we printed the contents of the $array array, and we can see that the value of the private member variable gender was also successfully converted into the elements of the array.

Summary:

In PHP, we can use the get_object_vars function to convert an object into an array object. This function can easily obtain the public member variables of the object and their corresponding values. But if we need to get the value of the private member variable of the object, we need to use the __get function in the PHP access control syntax to achieve it.

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