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

php object array to array

王林
王林Original
2023-05-23 13:29:38476browse

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.

  1. Forcing type conversion

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.

  1. Using object methods

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!

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