Home >Backend Development >PHP Problem >How to convert objects to arrays in PHP
PHP is an object-oriented programming language. Therefore, objects are very common in PHP, and conversion between objects and arrays is also a frequently required operation. In this article, we will introduce the conversion of objects and arrays in PHP, and how to convert object arrays into multi-dimensional array objects.
Use PHP's built-in function to convert an object into an array. You can use get_object_vars(), which converts object properties into an associative array.
For example:
class car { public $make = 'Toyota'; public $model = 'Camry'; public $color = 'black'; protected $year = 2018; } $obj = new car; $arr = get_object_vars($obj); print_r($arr);
Output result:
Array ( [make] => Toyota [model] => Camry [color] => black )
Note: The get_object_vars() function can only convert public attributes (public). Neither protected nor private attributes can be converted.
Use PHP built-in functions to convert arrays into objects. You can use (object), and you can also use forced type conversion.
For example:
$arr = array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black'); $obj = (object) $arr; // Alternatively, you can use type casting // $obj = (object) array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black'); echo $obj->make; // Toyota
Output result:
Toyota
In PHP, object array is composed of Array of objects. If you want to convert an array of objects into an array object, we can use PHP's predefined array_map() function to achieve this.
For example:
class car { public $make = 'Toyota'; public $model = 'Camry'; public $color = 'black'; protected $year = 2018; } $obj1 = new car; $obj2 = new car; $obj3 = new car; $car_array = array($obj1, $obj2, $obj3); // using array_map() to transform all objects into arrays: $arr_array = array_map(function($object) { return get_object_vars($object); }, $car_array); // displaying the resulting array print_r($arr_array);
Output result:
Array ( [0] => Array ( [make] => Toyota [model] => Camry [color] => black ) [1] => Array ( [make] => Toyota [model] => Camry [color] => black ) [2] => Array ( [make] => Toyota [model] => Camry [color] => black ) )
In PHP, the array object is composed of An object composed of an array. If you want to convert an array object to an array of objects, we can use PHP's predefined array_map() function and cast to achieve it.
For example:
class car { public $make = 'Toyota'; public $model = 'Camry'; public $color = 'black'; protected $year = 2018; } $arr1 = array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black'); $arr2 = array('make' => 'Honda', 'model' => 'Civic', 'color' => 'white'); $arr3 = array('make' => 'Chevrolet', 'model' => 'Malibu', 'color' => 'silver'); $car_array = array($arr1, $arr2, $arr3); $obj_array = array_map(function($array) { return (object) $array; }, $car_array); // displaying the resulting array print_r($obj_array);
Output result:
Array ( [0] => stdClass Object ( [make] => Toyota [model] => Camry [color] => black ) [1] => stdClass Object ( [make] => Honda [model] => Civic [color] => white ) [2] => stdClass Object ( [make] => Chevrolet [model] => Malibu [color] => silver ) )
In PHP, multi-dimensional array object Refers to an object array containing multiple array objects. If you want to convert an object array into a multidimensional array object, we can use PHP's predefined array_map() function and associative arrays to achieve it.
For example:
class car { public $make = 'Toyota'; public $model = 'Camry'; public $color = 'black'; protected $year = 2018; } $obj1 = new car; $obj2 = new car; $obj3 = new car; $car_array = array($obj1, $obj2, $obj3); $arr_array = array_map(function($object) { return get_object_vars($object); }, $car_array); // combining the resulting arrays into a multidimensional array $final_array = array('cars' => $arr_array); // displaying the final multidimensional array print_r($final_array);
Output result:
Array ( [cars] => Array ( [0] => Array ( [make] => Toyota [model] => Camry [color] => black ) [1] => Array ( [make] => Toyota [model] => Camry [color] => black ) [2] => Array ( [make] => Toyota [model] => Camry [color] => black ) ) )
In this article, we introduce how to convert objects and arrays into each other in PHP, and how to convert object arrays is a multidimensional array object. These conversions are very common operations in PHP development. Being proficient in these operations will bring great convenience to our development work.
The above is the detailed content of How to convert objects to arrays in PHP. For more information, please follow other related articles on the PHP Chinese website!