PHP est un langage de script côté serveur populaire utilisé pour développer des applications Web. Dans le processus de développement d’applications web, il est souvent nécessaire de renvoyer les données au front-end au format JSON. En PHP, la conversion des types de données brutes en JSON est très pratique. Cet article explique comment convertir un tableau en tableau JSON en PHP.
Ce qui suit est un exemple de code qui utilise la fonction json_encode() pour convertir un tableau en tableau JSON :
<code><?php $arr = array('name' => '张三', 'age' => 20, 'gender' => '男'); echo json_encode($arr); ?></code>
L'exécution du code ci-dessus produira les résultats suivants :
<code>{"name":"\u5f20\u4e09","age":20,"gender":"\u7537"}</code>
Comme vous pouvez le voir, le code ci-dessus a a réussi à convertir le tableau en tableau JSON. La fonction json_encode() échappe tous les caractères Unicode pour garantir que les données JSON générées sont légales.
Afin de résoudre ce problème, vous pouvez ajouter le paramètre JSON_UNESCAPED_UNICODE à la fonction json_encode(). Ce paramètre indique à la fonction json_encode() de ne pas échapper aux caractères chinois, conservant ainsi les caractères chinois d'origine.
Ce qui suit est un exemple de code qui utilise le paramètre JSON_UNESCAPED_UNICODE pour convertir un tableau en tableau JSON :
<code><?php $arr = array('name' => '张三', 'age' => 20, 'gender' => '男'); echo json_encode($arr, JSON_UNESCAPED_UNICODE); ?></code>
L'exécution du code ci-dessus produira les résultats suivants :
<code>{"name":"张三","age":20,"gender":"男"}</code>
Vous pouvez voir qu'après avoir utilisé le paramètre JSON_UNESCAPED_UNICODE, le chinois les caractères du tableau JSON ont été codés en caractères chinois originaux.
Nous devons donc utiliser une fonction récursive pour d'abord déterminer si la valeur actuelle est un tableau. S'il s'agit d'un tableau, appelez la fonction de manière récursive jusqu'à ce que la valeur actuelle ne soit pas un tableau.
Ce qui suit est un exemple de code pour convertir un tableau multidimensionnel en tableau JSON :
<code><?php $arr = array( array('name' => '张三', 'age' => 20, 'gender' => '男'), array('name' => '李四', 'age' => 22, 'gender' => '女'), array('name' => '王五', 'age' => 24, 'gender' => '男') ); echo json_encode($arr, JSON_UNESCAPED_UNICODE); function array_to_json($array) { if (!is_array($array)) { return null; } $json = '['; foreach ($array as $key => $value) { if (is_array($value)) { $value = array_to_json($value); } else { $value = json_encode($value, JSON_UNESCAPED_UNICODE); } if ($json != '[') { $json .= ','; } $json .= $value; } $json .= ']'; return $json; } $new_arr = array( 'name' => '张三', 'info' => array( 'age' => 20, 'address' => array( 'province' => '广东省', 'city' => '深圳市' ) ) ); echo array_to_json($new_arr); ?></code>
Exécutez le code ci-dessus et les résultats suivants seront affichés :
<code>[{"name":"张三","age":20,"gender":"男"},{"name":"李四","age":22,"gender":"女"},{"name":"王五","age":24,"gender":"男"}] {"name":"张三","info":{"age":20,"address":{"province":"\u5e7f\u4e1c\u7701","city":"\u6df1\u5733\u5e02"}}}</code>
Vous pouvez voir que le tableau multidimensionnel est converti avec succès dans un tableau JSON via la fonction array_to_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!