Maison  >  Article  >  développement back-end  >  Comment convertir un objet en tableau en php

Comment convertir un objet en tableau en php

PHPz
PHPzoriginal
2023-04-23 09:19:20704parcourir

Dans le développement PHP, nous avons souvent besoin de convertir un objet en tableau pour faciliter la manipulation et le traitement des données. Cet article explique comment convertir un objet en tableau.

1. Utiliser la conversion de type

En PHP, nous pouvons utiliser la conversion de type pour convertir des objets en tableaux et utiliser la fonction objet en tableau "get_object_vars()" pour obtenir la représentation matricielle de tous les attributs de l'objet. Nous pouvons ensuite utiliser la conversion de type pour convertir cette représentation matricielle en un tableau standard.

Par exemple, nous avons un objet Person, qui a deux attributs « name » et « age » :

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person();

Nous pouvons utiliser le code PHP suivant pour convertir l'objet Person en un tableau :

$arrPerson = (array)$person;
print_r($arrPerson);

Le résultat de sortie est :

Array
(
    [name] => 张三
    [*age] => 20
)

Obligatoire Notez que lorsqu'un objet est converti à l'aide de méthodes de conversion de type, les propriétés privées ne sont pas converties. Par conséquent, dans le résultat ci-dessus, nous voyons que la propriété privée « age » est convertie en « *age ».

2. Utiliser l'encodage JSON

La fonction "json_encode()" de PHP peut convertir l'objet en représentation au format JSON, et nous pouvons ensuite utiliser la fonction "json_decode()" pour le convertir en tableau. Cette méthode est plus flexible que la conversion de type et peut convertir des propriétés privées.

Par exemple, nous utilisons le même objet Person que l'exemple ci-dessus pour démontrer cette méthode :

class Person {
    public $name = '张三';
    private $age = 20;
}

$person = new Person(); 
$arrPerson = json_decode(json_encode($person), true); 
print_r($arrPerson);

Le résultat de sortie est le suivant :

Array
(
    [name] => 张三
    [age] => 20
)

3. Conversion manuelle

En plus des deux méthodes ci-dessus, vous pouvez également. convertir manuellement l'objet en tableau. L'avantage de cette méthode est que vous pouvez contrôler entièrement le processus de conversion et personnaliser les valeurs clés du tableau renvoyé.

Par exemple, nous pouvons ajouter une méthode "toArray()" à l'objet Person pour convertir manuellement :

class Person {
    public $name = '张三';
    private $age = 20;

    public function toArray()
    {
        return [
            'name' => $this->name,
            'age' => $this->age
        ];
    }
}

$person = new Person();
$arrPerson = $person->toArray();
print_r($arrPerson);

Le résultat de sortie est le suivant :

Array
(
    [name] => 张三
    [age] => 20
)

Avec la méthode de conversion manuelle, nous pouvons non seulement contrôler entièrement la conversion processus, mais aussi personnaliser le retour La valeur clé du tableau. De cette façon, nous pouvons facilement convertir des objets en tableaux pour manipuler et traiter les données.

Résumé

Cet article présente trois méthodes pour convertir des objets en tableaux : en utilisant la conversion de type, en utilisant l'encodage JSON et la conversion manuelle. Parmi elles, l'utilisation de la conversion de type et de l'encodage JSON sont des méthodes relativement simples et courantes, tandis que la conversion manuelle est plus flexible et peut personnaliser les valeurs clés du tableau renvoyé. Dans le processus de développement actuel, nous pouvons choisir la méthode appropriée pour convertir les objets en fonction de besoins spécifiques.

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