Maison > développement back-end > Problème PHP > Comment convertir un tableau chinois en json en php

Comment convertir un tableau chinois en json en php

PHPz
Libérer: 2023-04-18 10:05:44
original
641 Les gens l'ont consulté

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,"性别"=>"男");
Copier après la connexion

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"
}
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

Le résultat de sortie est le suivant :

{
    "姓名": "张三",
    "年龄": 20,
    "性别": "男"
}
Copier après la connexion

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;
Copier après la connexion

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);
Copier après la connexion

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
    [性别] => 男
)
Copier après la connexion

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal