Maison > Article > développement back-end > Comment convertir un tableau d'objets php en tableau de chaînes json
Dans le développement Web moderne, il est devenu courant pour les programmes frontaux basés sur JavaScript d'utiliser des données au format JSON (JavaScript Object Notation). PHP est un langage de programmation côté serveur courant. Nous devons souvent convertir des objets ou des tableaux PHP en chaînes au format JSON côté serveur pour faciliter les appels frontaux. Dans cet article, nous allons vous montrer comment convertir un tableau d'objets en un tableau de chaînes JSON en PHP.
Il existe une fonction json_encode() intégrée dans PHP, qui peut convertir des tableaux et des objets PHP en chaînes au format JSON, comme indiqué ci-dessous :
<?php $array = array('name' => '张三', 'age' => 18, 'gender' => 'male'); echo json_encode($array); ?>
Résultats d'exécution :
{"name":"张三","age":18,"gender":"male"}
Dans cet exemple, nous pouvons voir que lorsqu'un tableau PHP est passé à la fonction json_encode(), une chaîne encodée au format JSON peut être renvoyée. Notez ici : la fonction json_encode() ne prend en charge que le format d'encodage UTF-8. Si le format d'encodage utilisé par votre chaîne n'est pas UTF-8, une erreur se produira. Par conséquent, avant d'utiliser la fonction json_encode(), assurez-vous que le tableau ou l'objet à convertir a été converti au format UTF-8.
Si vous devez convertir le tableau d'objets en un tableau de chaînes JSON, vous devez convertir l'objet en tableau et utiliser la fonction json_encode() pour le traitement. Par exemple, nous devons convertir le tableau d'objets représentant les informations sur les étudiants en un tableau de chaînes au format JSON :
<?php class Student{ public $name; public $age; public $gender; } $student1 = new Student(); $student1->name = '张三'; $student1->age = 18; $student1->gender = 'male'; $student2 = new Student(); $student2->name = '李四'; $student2->age = 19; $student2->gender = 'female'; $students = array(); array_push($students,$student1,$student2); $students_arr = array(); foreach($students as $student){ $obj = get_object_vars($student); array_push($students_arr,$obj); } echo json_encode($students_arr); ?>
Résultat d'exécution :
[{"name":"张三","age":18,"gender":"male"},{"name":"李四","age":19,"gender":"female"}]
Dans l'exemple ci-dessus, nous avons créé une classe Student qui peut représenter les informations sur les étudiants et utilisé un tableau Stocker plusieurs Objets étudiants. Lors de la conversion de l'objet Student en tableau, la fonction get_object_vars() est utilisée. Cette fonction convertit l'objet en un tableau associatif, nous permettant de gérer l'objet comme un tableau. Enfin, transmettez le tableau à la fonction json_encode() et affichez le résultat.
En même temps, afin de mieux faciliter la compréhension, nous pouvons également transformer les exemples ci-dessus sous une forme plus intuitive, comme le montre la figure ci-dessous :
Grâce aux deux exemples ci-dessus , vous avez déjà compris Voici comment convertir un objet ou un tableau PHP en un tableau de chaînes au format JSON. Cependant, à première vue, ces tableaux de chaînes au format JSON semblent un peu difficiles à lire. Afin d'embellir le format de données JSON, vous pouvez utiliser le deuxième paramètre de la fonction json_encode() : sélection JSON_PRETTY_PRINT, comme indiqué ci-dessous :
<?php $array = array('name' => '张三', 'age' => 18, 'gender' => 'male'); echo json_encode($array,JSON_PRETTY_PRINT); ?>
Résultats d'exécution :
{ "name": "张三", "age": 18, "gender": "male" }
Ceci est le résultat de sortie après avoir utilisé l'option JSON_PRETTY_PRINT, qui est plus clair et plus facile à lire.
Dans cet article, nous avons présenté comment convertir un tableau d'objets en un tableau de chaînes JSON en PHP. Il s'agit d'une étape importante dans notre interaction front-end et back-end. Combinée à l'outil d'analyse JSON front-end, les données peuvent être facilement converties dans le format requis par chaque site Web.
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!