Maison >développement back-end >Problème PHP >Comment convertir json en tableau en php
En PHP, la conversion de JSON en tableau est une opération courante. JSON est un format d'échange de données léger qui est de plus en plus populaire parmi les développeurs en raison de sa lisibilité et de sa portabilité. Lorsque vous utilisez PHP pour le traitement JSON, vous pouvez utiliser les fonctions intégrées de PHP pour convertir les données JSON en tableau. Dans cet article, nous apprendrons comment convertir JSON en tableau à l'aide de PHP.
PHP fournit une fonction appelée "json_decode()", qui peut convertir les données JSON en tableau PHP. Cette fonction prend deux paramètres, le premier est la chaîne JSON que vous souhaitez convertir et le second est un paramètre booléen facultatif qui spécifie s'il faut convertir le JSON en tableau associatif. Par défaut, la valeur de ce paramètre est false, ce qui signifie qu'un tableau normal est renvoyé.
Ce qui suit est un exemple de chaîne JSON :
$json_string = '{ "name": "John", "age": 30, "city": "New York" }';
Convertissez cette chaîne JSON en un tableau associatif en appelant la fonction json_decode() :
$array = json_decode($json_string, true);
Maintenant, nous pouvons obtenir la valeur des données JSON en accédant à la clé de le tableau, par exemple :
echo $array['name']; // 输出:John echo $array['age']; // 输出:30 echo $array['city']; // 输出:New York
Si la chaîne JSON contient des caractères chinois, un traitement spécial est requis pour l'analyser correctement. Vous pouvez utiliser les fonctions intégrées de PHP json_decode()
配合json_last_error_msg()
pour résoudre ce problème.
$json_string = '{"中文": "这是一个中文字符串"}'; $array = json_decode($json_string, true); if (json_last_error() === JSON_ERROR_UTF8) { $json_string = mb_convert_encoding($json_string, 'UTF-8', 'UTF-8'); $array = json_decode($json_string, true); } echo $array['中文']; // 输出:这是一个中文字符串
Lorsqu'il existe plusieurs niveaux d'imbrication dans les données JSON, vous pouvez utiliser la méthode récursive pour convertir le JSON en un tableau multidimensionnel. Comme indiqué ci-dessous :
$json_string = '{ "name": "John", "age": 30, "city": "New York", "children": [ { "name": "Mary", "age": 5 }, { "name": "Bob", "age": 3 } ] }'; $array = json_decode($json_string, true); function json_to_array($data) { if (is_object($data)) { $data = get_object_vars($data); } if (is_array($data)) { return array_map(__FUNCTION__, $data); } else { return $data; } } $array = json_to_array($array); print_r($array); // 输出: /* Array ( [name] => John [age] => 30 [city] => New York [children] => Array ( [0] => Array ( [name] => Mary [age] => 5 ) [1] => Array ( [name] => Bob [age] => 3 ) ) ) */
Dans cet article, nous avons présenté plusieurs méthodes pour convertir JSON en tableau. Qu'il s'agisse d'une simple chaîne JSON ou de données JSON imbriquées multicouches, la fonction json_decode() de PHP peut très bien accomplir la tâche d'analyse. J'espère que cet article pourra vous aider à mieux utiliser PHP pour traiter les données JSON.
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!