Maison > développement back-end > Problème PHP > Comment convertir un objet en tableau en utilisant php

Comment convertir un objet en tableau en utilisant php

PHPz
Libérer: 2023-03-27 19:21:14
original
1396 Les gens l'ont consulté

PHP est un langage de programmation orienté objet. Les objets sont l'une des structures de données les plus élémentaires de PHP et l'un des types de données les plus couramment utilisés. En PHP, il est généralement très courant de convertir des objets en tableaux, comme stocker des objets dans une base de données ou sérialiser des objets, etc. Cet article explique comment convertir des objets PHP en tableaux.

1. Utilisez la fonction get_object_vars()

PHP fournit la fonction get_object_vars(), qui peut convertir les valeurs d'attribut de l'objet en un tableau associatif. Cette fonction reçoit un objet en paramètre et renvoie un tableau dont les clés sont les noms des propriétés de l'objet et dont les valeurs sont les valeurs des propriétés. Voici un exemple :

class Person {
    public $name;
    public $age;
    public $gender;
    public function __construct($name, $age, $gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
}
$person = new Person('Tom', 18, 'male');
$arr = get_object_vars($person);
print_r($arr);
Copier après la connexion

Le résultat de sortie est :

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

2. Utilisation de la fonction json_encode()

En plus d'utiliser la fonction get_object_vars(), nous pouvons également utiliser la fonction json_encode() pour convertir. l'objet en chaîne au format JSON, puis convertissez-le en tableau à l'aide de la fonction json_decode(). Voici un exemple :

class Person {
    public $name;
    public $age;
    public $gender;
    public function __construct($name, $age, $gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
}
$person = new Person('Tom', 18, 'male');
$jsonStr = json_encode($person);
$arr = json_decode($jsonStr, true);
print_r($arr);
Copier après la connexion

Le résultat est le même que l'exemple précédent.

3. Utilisez la méthode __toArray() de l'objet

Si vous maîtrisez les connaissances de base de la programmation orientée objet, vous pouvez définir une méthode __toArray() dans votre propre classe, qui est utilisée pour convertir le object's La valeur de l'attribut est convertie en tableau. Voici un exemple :

class Person {
    public $name;
    public $age;
    public $gender;
    public function __construct($name, $age, $gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
    public function __toArray() {
        $arr = [];
        $arr['name'] = $this->name;
        $arr['age'] = $this->age;
        $arr['gender'] = $this->gender;
        return $arr;
    }
}
$person = new Person('Tom', 18, 'male');
$arr = $person->__toArray();
print_r($arr);
Copier après la connexion

Le résultat de sortie est également le même que les deux exemples précédents.

Résumé

Ci-dessus sont les trois méthodes de conversion d'objets PHP en tableaux. Différentes méthodes peuvent convenir à différents scénarios d'application, et la méthode à utiliser dépend de vos besoins. Quelle que soit la méthode que vous utilisez, la maîtrise de ces méthodes est une compétence très importante dans le développement PHP, qui peut nous faciliter l'exploitation des objets et améliorer l'efficacité du 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!

Étiquettes associées:
php
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