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 theget_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 theget_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 theget_object_vars
function to convert the instance$person
of thePerson
class into the array$array
. Array$array
contains member variablesname
andage
and their corresponding values.
It should be noted that the value of the private member variable of the class cannot be obtained using theget_object_vars
function. In the example above, the value of the private member variablegender
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 variablegender
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 variablegender
was also successfully converted into the elements of the array.
Summary:
In PHP, we can use theget_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!