Maison  >  Article  >  développement back-end  >  Comment convertir un tableau de chaînes JSON en tableau d'objets en php

Comment convertir un tableau de chaînes JSON en tableau d'objets en php

PHPz
PHPzoriginal
2023-04-23 09:18:45448parcourir

En PHP, nous avons souvent besoin de convertir des tableaux de chaînes JSON en tableaux d'objets afin de pouvoir traiter et utiliser les données. Afin d'accomplir cette tâche, nous pouvons utiliser la fonction json_decode() fournie en PHP pour analyser la chaîne JSON puis la convertir en un tableau d'objets.

Vous trouverez ci-dessous un exemple pour convertir un tableau de chaînes JSON en tableau d'objets.

$json = '[
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30},
    {"name": "Charlie", "age": 35}
]';

$people = json_decode($json);

foreach ($people as $person) {
    echo $person->name . ' is ' . $person->age . ' years old.' . PHP_EOL;
}

Dans cet exemple, nous définissons d'abord un tableau de chaînes JSON. Ensuite, nous avons appelé la fonction json_decode() pour la convertir en objet PHP. Enfin, nous utilisons une boucle foreach pour parcourir le tableau d'objets et afficher le nom et l'âge de chaque personne.

Il est à noter que la fonction json_decode() analyse la chaîne JSON en un objet PHP, qui peut être un objet anonyme de type stdClass ou un objet d'une classe spécifique. Pour cet exemple, puisque nous n'avons pas spécifié dans quel type d'objet la chaîne JSON sera analysée, elle sera analysée par défaut dans un objet de type stdClass.

Si nous voulons analyser la chaîne JSON dans un objet d'une classe spécifique, nous pouvons le faire en passant le deuxième paramètre à la fonction json_decode(). Par exemple, nous pouvons définir une classe Person pour représenter les informations de chaque personne, puis analyser la chaîne JSON dans un tableau d'objets Person, comme indiqué ci-dessous :

class Person {
    public $name;
    public $age;
    
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

$json = '[
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30},
    {"name": "Charlie", "age": 35}
]';

$people = json_decode($json, false);

$personObjects = array();
foreach($people as $person) {
    $personObjects[] = new Person($person->name, $person->age);
}

foreach ($personObjects as $person) {
    echo $person->name . ' is ' . $person->age . ' years old.' . PHP_EOL;
}

Dans cet exemple, nous définissons d'abord une classe nommée Person, qui contient le nom et des propriétés d'âge et un constructeur. Ensuite, nous analysons la chaîne JSON en un tableau d'objets et les convertissons en un tableau d'objets Person. Enfin, nous utilisons une boucle foreach pour afficher le nom et l'âge de chaque personne.

En bref, la conversion d'un tableau de chaînes JSON en tableau d'objets est l'une des opérations courantes en PHP. Nous pouvons utiliser la fonction json_decode() pour accomplir cette tâche, et nous pouvons spécifier le type d'objet à analyser en passant le deuxième paramètre. Après avoir terminé cette tâche, nous pouvons l’utiliser pour traiter les données, les exploiter et les utiliser.

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