"Zhang San", "Age" => 20, "Gender" => "Male");``` 2. Qu'est-ce que J"/> "Zhang San", "Age" => 20, "Gender" => "Male");``` 2. Qu'est-ce que J">

Maison  >  Article  >  développement back-end  >  Comment convertir un tableau chinois en json en php

Comment convertir un tableau chinois en json en php

PHPz
PHPzoriginal
2023-04-18 09:47:23590parcourir

Ces dernières années, avec le développement continu de la technologie Web, l'interaction des données entre le front-end et le back-end est devenue de plus en plus courante. Dans ce processus, la conversion du format des données est particulièrement importante. Cet article explique comment convertir un tableau chinois au format json en php.

1. Qu'est-ce qu'un tableau chinois ?

Les tableaux chinois sont similaires aux tableaux ordinaires, sauf que les noms de clés et les valeurs des éléments du tableau sont des chaînes chinoises. Par exemple :

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");

2. Qu'est-ce que JSON

JSON (JavaScript Object Notation) est un langage d'échange de données. Il représente les données sous une forme concise et est facile à lire et à écrire. JSON peut représenter des nombres, des chaînes, des valeurs booléennes, des tableaux, des objets, etc. et est largement utilisé dans les applications Web. Par exemple :

{
   "name": "John",
   "age": 30,
   "city": "New York"
}

3. Convertir un tableau chinois en JSON

En php, nous pouvons utiliser la fonction json_encode() pour convertir le tableau chinois au format JSON. Par exemple :

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
$json_str = json_encode($cn_arr,JSON_UNESCAPED_UNICODE);
echo $json_str;

Le paramètre JSON_UNESCAPED_UNICODE dans le code vise à empêcher les caractères chinois tronqués, ce qui signifie que le chinois ne sera pas encodé en Unicode.

Si nous voulons sortir un format JSON soigné, nous pouvons utiliser le deuxième paramètre JSON_PRETTY_PRINT de la fonction json_encode(). Par exemple :

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
$json_str = json_encode($cn_arr,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
echo $json_str;

Le résultat de sortie est le suivant :

{
    "姓名": "张三",
    "年龄": 20,
    "性别": "男"
}

Il convient de noter que la fonction json_encode() ne peut gérer que les chaînes codées en UTF-8. Si l'encodage de votre fichier PHP n'est pas UTF-8, vous devez utiliser la fonction mb_convert_encoding() pour convertir les éléments du tableau en chaînes codées en UTF-8, par exemple :

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
$utf8_arr = array();
foreach($cn_arr as $key=>$value){
  $utf8_arr[mb_convert_encoding($key,"UTF-8","auto")]=mb_convert_encoding($value,"UTF-8","auto");
}
$json_str = json_encode($utf8_arr,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
echo $json_str;

4. JSON en tableau chinois

En PHP, nous peut utiliser la fonction json_decode() pour convertir une chaîne au format JSON en un tableau. Par exemple :

$json_str = '{"姓名":"张三","年龄":20,"性别":"男"}';
$cn_arr = json_decode($json_str,true);
print_r($cn_arr);

Le deuxième paramètre vrai dans le code signifie convertir l'objet JSON en tableau. Le résultat de sortie est le suivant :

Array
(
    [姓名] => 张三
    [年龄] => 20
    [性别] => 男
)

Il convient de noter que la fonction json_decode() ne peut gérer que les chaînes codées en UTF-8. Si l'encodage de votre chaîne JSON n'est pas UTF-8, vous devez utiliser la fonction mb_convert_encoding() pour convertir la chaîne en encodage UTF-8, par exemple :

$json_str = '{"姓名":"张三","年龄":20,"性别":"男"}';
$utf8_str = mb_convert_encoding($json_str,"UTF-8","auto");
$cn_arr = json_decode($utf8_str,true);
print_r($cn_arr);

5. Résumé

Cet article présente la conversion des tableaux chinois php au format JSON Méthode et comment convertir une chaîne JSON en tableau chinois. Lors de la conversion de formats de données, une attention particulière doit être accordée aux problèmes d'encodage afin d'éviter les caractères tronqués.

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