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_varsfunction 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_varsfunction 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_varsfunction to convert the instance$personof thePersonclass into the array$array. Array$arraycontains member variablesnameandageand their corresponding values.
It should be noted that the value of the private member variable of the class cannot be obtained using theget_object_varsfunction. In the example above, the value of the private member variablegenderis not converted to an element in the array.
If we need to get the private member variables of the class, we can use the__getfunction 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__getfunction 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__getfunction to obtain the value of the private member variablegenderof the object$personand add it to$ arrayin the array. Finally, we printed the contents of the$arrayarray, and we can see that the value of the private member variablegenderwas also successfully converted into the elements of the array.
Summary:
In PHP, we can use theget_object_varsfunction 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__getfunction 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!