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
Libérer: 2023-04-20 15:11:41
original
837 Les gens l'ont consulté

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;
}
Copier après la connexion

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);
Copier après la connexion

Le résultat de sortie est le suivant :

Array
(
    [name] => Tom
    [gender] => male
    [age] => 20
)
Copier après la connexion

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
    ]
];
Copier après la connexion

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);
Copier après la connexion

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
        )

)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal