Maison  >  Article  >  développement back-end  >  Comment convertir un tableau d'objets php en tableau ordinaire

Comment convertir un tableau d'objets php en tableau ordinaire

PHPz
PHPzoriginal
2023-04-23 09:12:21560parcourir

Dans le développement PHP, nous utilisons souvent la conversion entre des tableaux d'objets et des tableaux ordinaires, notamment lors du traitement des données, cette conversion est très courante. Par conséquent, cet article expliquera comment convertir un tableau d'objets PHP en un tableau normal.

En PHP, un tableau d'objets fait référence à un tableau composé d'objets, tandis qu'un tableau ordinaire fait référence à un tableau composé de types de données de base. Les tableaux d'objets sont généralement renvoyés par les résultats des requêtes de base de données, en particulier lors de l'utilisation d'un framework ORM. Le framework ORM encapsulera les données de la base de données dans un tableau d'objets.

La conversion entre les tableaux d'objets et les tableaux ordinaires est très simple et peut être effectuée à l'aide des fonctions intégrées de PHP. Ci-dessous, nous expliquerons étape par étape comment convertir.

  1. Fonctions intégrées en PHP

En PHP, il existe deux fonctions intégrées qui peuvent compléter la conversion entre les tableaux d'objets et les tableaux ordinaires :

  • get_object_vars() : Convertit l'objet en tableau et renvoie un tableau composé d'attributs. Un tableau associatif où la clé est le nom de l'attribut et la valeur est la valeur de l'attribut.
  • json_decode() : convertit la chaîne au format JSON en instance ou tableau PHP, renvoyant un tableau PHP standard.
  1. Utilisez la fonction get_object_vars()

Nous pouvons convertir le tableau d'objets en un tableau normal grâce à la fonction get_object_vars(). Cette fonction prend un paramètre d'objet et renvoie un tableau associatif de propriétés. Voici un exemple de code utilisant la fonction get_object_vars() :

class Person {
    public $name = "John";
    public $age = 25;
    private $password = "123456";

    public function showDetails() {
        echo $this->name . " is " . $this->age . " years old \n";
    }
}

$person1 = new Person();
$person2 = new Person();
$person2->name = "Jessica";
$person2->age = 30;

$personArray1 = get_object_vars($person1);
$personArray2 = get_object_vars($person2);

print_r($personArray1);
print_r($personArray2);

Sortie :

Array
(
    [name] => John
    [age] => 25
)

Array
(
    [name] => Jessica
    [age] => 30
)

Comme vous pouvez le voir, après avoir utilisé la fonction get_object_vars(), nous avons réussi à convertir le tableau d'objets en un tableau normal.

  1. Utilisez la fonction json_decode()

En plus d'utiliser la fonction get_object_vars(), nous pouvons également utiliser la fonction json_decode() pour convertir le tableau d'objets en un tableau normal. Cette fonction accepte un paramètre de chaîne JSON et renvoie un tableau PHP standard. Voici un exemple de code utilisant la fonction json_decode() :

class Person {
    public $name = "John";
    public $age = 25;
    private $password = "123456";

    public function showDetails() {
        echo $this->name . " is " . $this->age . " years old \n";
    }
}

$person1 = new Person();
$person2 = new Person();
$person2->name = "Jessica";
$person2->age = 30;

$json1 = json_encode($person1);
$json2 = json_encode($person2);

$personArray1 = json_decode($json1, true);
$personArray2 = json_decode($json2, true);

print_r($personArray1);
print_r($personArray2);

Sortie :

Array
(
    [name] => John
    [age] => 25
)

Array
(
    [name] => Jessica
    [age] => 30
)

Après avoir utilisé la fonction json_decode(), nous avons également réussi à convertir le tableau d'objets en un tableau normal.

  1. Résumé

Convertir un tableau d'objets PHP en un tableau normal est très simple, utilisez simplement la fonction get_object_vars() ou la fonction json_decode() pour terminer. L'utilisation de la fonction get_object_vars() peut convertir directement l'objet en tableau, tandis que l'utilisation de la fonction json_decode() nécessite d'abord de convertir l'objet en chaîne au format JSON, puis de convertir la chaîne en tableau. Quelle que soit la méthode utilisée, elle peut répondre à nos besoins lors du traitement des données.

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