In PHP, Object and Array are two different data types. However, in actual development, we usually need to convert objects into arrays to facilitate data processing and transfer. This article will introduce how to convert an object array (Object Array) in PHP into a basic array (Basic Array).
1. What is an object array and a basic array
In PHP, an object (Object) is usually instantiated from a class (Class), and it has its own properties (Property) and methods (Method), which can perform various operations and processing. Array is a data structure that can hold multiple values and can be accessed and processed using key-value pairs.
Object Array is an array composed of multiple objects. For example, we can define multiple student objects and store them in an array:
class Student { public $name; public $age; } $stu1 = new Student; $stu1->name = "Tom"; $stu1->age = 18; $stu2 = new Student; $stu2->name = "Jerry"; $stu2->age = 19; $students = array($stu1, $stu2);
Basic Array is an array composed of simple values or strings. For example, we can define an array composed of multiple numbers:
$numbers = array(1, 2, 3, 4, 5);
2. Object array conversion method
In PHP, we can use a variety of methods to convert an object array into Basic array, two commonly used methods are introduced below.
In PHP, we can use type casting (Type Casting) to convert an object array into a basic array. The specific implementation method is as follows:
$basicArray = (array) $objectArray;
For example, to convert the above student object array into a basic array, it can be implemented as follows:
$basicStudents = (array) $students;
At this time, $basicStudents is a basic array, and its content is as follows :
Array( [0] => Student Object ( [name] => Tom [age] => 18 ) [1] => Student Object ( [name] => Jerry [age] => 19 ) )
It should be noted that since in the forced type conversion, the name of the object attribute will be forced to be the key name, so in the converted basic array, the key name is the name of the object attribute.
In PHP, we can also use object methods to convert an object array into a base array. The specific implementation method is as follows:
$basicArray = $objectArray->toArray();
Among them, toArray() is the conversion method defined by the object. For example, defining the conversion method for the above student object array and converting it can be implemented as follows:
class Student { public $name; public $age; public function toArray() { return array( 'name' => $this->name, 'age' => $this->age ); } } $stu1 = new Student; $stu1->name = "Tom"; $stu1->age = 18; $stu2 = new Student; $stu2->name = "Jerry"; $stu2->age = 19; $students = array($stu1, $stu2); $basicStudents = array(); foreach ($students as $student) { $basicStudents[] = $student->toArray(); }
At this time, $basicStudents is a basic array, and its content is as follows:
Array( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jerry [age] => 19 ) )
Because The toArray() method converts object properties into key-value pairs, so in the converted underlying array, the key name is the name of the object property.
3. Summary
In PHP, we can use cast or object methods to convert an object array into a basic array. Depending on the actual needs and the complexity of the code implementation, the corresponding conversion method can be selected. It should be noted that in the converted basic array, the definition of key names and key values is related to the definition of object properties, so the implementation of the conversion method needs to be carefully considered.
The above is the detailed content of php object array to array. For more information, please follow other related articles on the PHP Chinese website!