Maison  >  Article  >  développement back-end  >  Comment convertir des objets en tableaux et tableaux d'objets en php

Comment convertir des objets en tableaux et tableaux d'objets en php

PHPz
PHPzoriginal
2023-04-26 10:29:47574parcourir

Avec le développement rapide d'Internet, PHP, en tant que langage de programmation largement utilisé dans le développement de la technologie Internet, a été largement utilisé pour ses avantages de facilité d'apprentissage, de forte évolutivité et d'open source.

En PHP, les objets et les tableaux sont des types de données courants. Dans le développement réel, il est souvent nécessaire de convertir entre eux. Cet article présentera comment convertir des objets en tableaux et en tableaux d'objets en PHP.

1. Convertissez les objets en tableaux

La différence entre les objets et les tableaux est que les objets stockent des propriétés et des méthodes, tandis que les tableaux stockent des paires clé-valeur. Par conséquent, lors de la conversion d'un objet en tableau, vous devez convertir les propriétés de l'objet en paires clé-valeur du tableau.

En PHP, vous pouvez utiliser cast pour convertir un objet en tableau. Le code spécifique est le suivant :

$obj = new stdClass();
$obj->name = 'Tom';
$obj->age = 20;

$arr = (array)$obj;
print_r($arr);

Dans le code ci-dessus, un objet stdClass est d'abord créé, qui contient deux attributs, à savoir $name et $age. Ensuite, utilisez un cast pour convertir l’objet en tableau.

Exécutez le code ci-dessus, le résultat de sortie est le suivant :

Array
(
    [name] => Tom
    [age] => 20
)

Comme le montre le résultat de sortie, l'objet $obj est converti avec succès en tableau. Dans le tableau, le nom d'attribut de l'objet $obj est converti en nom de clé dans le tableau et la valeur d'attribut est convertie en valeur de clé dans le tableau.

2. Convertissez l'objet en un tableau d'objets

Un tableau d'objets fait référence à un tableau contenant plusieurs objets. En PHP, vous pouvez utiliser une boucle foreach pour parcourir un tableau d'objets, convertir chaque objet en tableau et le stocker dans un nouveau tableau.

Le code spécifique est le suivant :

class Person {
    public $name;
    public $age;
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

$person1 = new Person('Tom', 20);
$person2 = new Person('Jack', 25);
$person3 = new Person('Lucy', 18);

$persons = array($person1, $person2, $person3);

$arr = array();
foreach ($persons as $person) {
    $arr[] = (array)$person;
}

print_r($arr);

Dans le code ci-dessus, une classe Person est d'abord définie, qui contient les deux attributs $name et $age et un constructeur. pour initialiser l'objet. Par la suite, trois objets Person sont créés et stockés dans un tableau $persons.

Ensuite, créez un tableau vide $arr, utilisez foreach pour parcourir le tableau $persons, convertissez chaque objet en tableau et stockez-le dans $arr.

Exécutez le code ci-dessus, le résultat de sortie est le suivant :

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 20
        )
    [1] => Array
        (
            [name] => Jack
            [age] => 25
        )
    [2] => Array
        (
            [name] => Lucy
            [age] => 18
        )
)

Comme le montre le résultat de sortie, les trois objets Person ont été convertis avec succès en un tableau d'objets. Dans le tableau, chaque objet est converti en un tableau contenant le nom de la clé d'attribut et la valeur de la clé d'attribut.

Résumé

Grâce à l'introduction ci-dessus, nous pouvons voir que la méthode de conversion d'objets en tableaux et en tableaux d'objets en PHP est très simple. Il vous suffit d'utiliser la conversion de type forcée. et Juste une boucle foreach. Dans le développement réel, les deux méthodes ont une certaine valeur pratique et peuvent nous aider à mieux traiter les données.

Dans le même temps, il est également nécessaire de noter que lors de la conversion d'un objet en tableau, les propriétés de l'objet doivent être converties en paires clé-valeur du tableau. avoir des noms de clé en double entraînant une perte de données. Par conséquent, les méthodes ci-dessus doivent être utilisées avec prudence dans le développement réel.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn