Maison >développement back-end >Problème PHP >Comment convertir une classe en tableau et en tableau d'objets en php

Comment convertir une classe en tableau et en tableau d'objets en php

PHPz
PHPzoriginal
2023-04-20 15:07:51841parcourir

PHP est un langage de script côté serveur largement utilisé pour le développement Web. Dans le développement PHP, il est souvent nécessaire de convertir des objets en tableaux ou d'attribuer des valeurs dans un tableau aux propriétés d'un objet. Cet article explique comment convertir des classes en tableaux et tableaux d'objets.

1. Convertir la classe en tableau

Nous définissons d'abord une classe Person, qui contient le nom, le sexe, l'âge et d'autres informations :

class Person {
    public $name;
    public $gender;
    public $age;
}

Maintenant, nous devons convertir cette classe en tableau pour stocker et transférer des données. Nous pouvons utiliser la fonction intégrée get_object_vars() de PHP, qui renverra toutes les propriétés de l'objet. Nous pouvons utiliser cette fonction pour obtenir le tableau d'attributs de l'objet Person, puis traiter le tableau :

$person = new Person();
$person->name = 'Tom';
$person->gender = 'male';
$person->age = 20;

$personArray = get_object_vars($person);
print_r($personArray);

Le résultat de sortie est le suivant :

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

Grâce à la fonction get_object_vars(), nous convertissons l'objet Person en un tableau $ personArray, dans lequel le nom de clé correspond au nom d'attribut de l'objet et la valeur de clé correspond à la valeur d'attribut.

2. Convertir un tableau en tableau d'objets

Ensuite, nous présenterons comment convertir un tableau en tableau d'objets. Prenons l'exemple de la classe Person. Supposons que nous ayons un tableau contenant plusieurs informations personnelles. Chaque information personnelle est représentée par un tableau associatif :

$personList = [
    [
        'name' => 'Tom',
        'gender' => 'male',
        'age' => 20
    ],
    [
        'name' => 'Jerry',
        'gender' => 'male',
        'age' => 25
    ],
    [
        'name' => 'Lucy',
        'gender' => 'female',
        'age' => 18
    ]
];

Nous devons convertir ce tableau en un tableau d'objets Personne pour faciliter les opérations associées. Nous pouvons utiliser l'instruction foreach pour parcourir ce tableau, puis convertir chaque tableau associatif en un objet Person, et enfin stocker ces objets dans un nouveau tableau :

$personObjectList = [];

foreach ($personList as $person) {
    $personObject = new Person();
    $personObject->name = $person['name'];
    $personObject->gender = $person['gender'];
    $personObject->age = $person['age'];

    array_push($personObjectList, $personObject);
}

print_r($personObjectList);

Le résultat est le suivant :

Array
(
    [0] => Person Object
        (
            [name] => Tom
            [gender] => male
            [age] => 20
        )

    [1] => Person Object
        (
            [name] => Jerry
            [gender] => male
            [age] => 25
        )

    [2] => Person Object
        (
            [name] => Lucy
            [gender] => female
            [age] => 18
        )

)

En convertissant le tableau associatif en un objet Person, nous avons converti le tableau d'origine en un tableau d'objets Person $personObjectList. Le nom et la valeur de l'attribut dans chaque objet correspondent au nom et à la valeur de la clé dans le tableau d'origine.

3. Conclusion

Cet article explique comment convertir des classes en tableaux et des tableaux en objets. Ces techniques sont très couramment utilisées dans le développement PHP et peuvent nous aider à stocker et manipuler les données plus facilement. J'espère que cet article pourra vous aider dans votre travail de développement.

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