Maison > Article > développement back-end > tableau d'objets php en tableau
En PHP, Object et Array sont deux types de données différents. Cependant, dans le développement réel, nous devons généralement convertir les objets en tableaux pour faciliter le traitement et le transfert des données. Cet article explique comment convertir un tableau d'objets (Object Array) en PHP en un tableau de base (Basic Array).
1. Que sont les tableaux d'objets et les tableaux de base
En PHP, un objet (Objet) est généralement instancié à partir d'une classe (Classe). Il a ses propres propriétés (Propriété) et méthodes (Méthode), qui peuvent être diverses opérations. et le traitement. Un tableau est une structure de données qui peut contenir plusieurs valeurs et qui est accessible et traitée à l'aide de paires clé-valeur.
Object Array est un tableau composé de plusieurs objets. Par exemple, nous pouvons définir plusieurs objets étudiants et les stocker dans un tableau :
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 est un tableau composé de valeurs simplesou de chaînes. Par exemple, nous pouvons définir un tableau composé de plusieurs nombres :
$numbers = array(1, 2, 3, 4, 5);
2. Méthode de conversion de tableau d'objets
En PHP, nous pouvons utiliser diverses méthodes pour convertir un tableau d'objets en un tableau de base. Voici deux méthodes couramment utilisées. : méthode.
En PHP, nous pouvons utiliser le transtypage pour convertir un tableau d'objets en un tableau de base. La méthode d'implémentation spécifique est la suivante :
$basicArray = (array) $objectArray;
Par exemple, la conversion du tableau d'objets étudiant ci-dessus en un tableau de base peut être implémentée comme suit :
$basicStudents = (array) $students;
À l'heure actuelle, $basicStudents est un tableau de base et son contenu est le suivant :
Array( [0] => Student Object ( [name] => Tom [age] => 18 ) [1] => Student Object ( [name] => Jerry [age] => 19 ) )
Il convient de noter que, car dans le cast, le nom de l'attribut d'objet sera forcé au nom de la clé, donc dans le tableau sous-jacent converti, le nom de la clé est le nom de l'attribut d'objet.
En PHP, nous pouvons également utiliser des méthodes objet pour convertir un tableau d'objets en un tableau de base. La méthode d'implémentation spécifique est la suivante :
$basicArray = $objectArray->toArray();
Parmi elles, toArray() est la méthode de conversion définie par l'objet. Par exemple, définir la méthode de conversion pour le tableau d'objets étudiant ci-dessus et le convertir peut être implémenté comme ceci :
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(); }
À l'heure actuelle, $basicStudents est un tableau de base, et son contenu est le suivant :
Array( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jerry [age] => 19 ) )
Depuis toArray( ) convertit les attributs de l'objet en paires clé-valeur, donc dans le tableau sous-jacent converti, le nom de la clé est le nom de la propriété de l'objet.
3. Résumé
En PHP, nous pouvons utiliser des méthodes cast ou object pour convertir un tableau d'objets en un tableau de base. En fonction des besoins réels et de la complexité de l'implémentation du code, la méthode de conversion correspondante peut être sélectionnée. Il convient de noter que dans le tableau de base converti, la définition des noms de clé et des valeurs de clé est liée à la définition des propriétés de l'objet, la mise en œuvre de la méthode de conversion doit donc être soigneusement étudiée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!