Mit der kontinuierlichen Weiterentwicklung der Web-Technologie ist in den letzten Jahren die Dateninteraktion zwischen Front-End und Back-End immer häufiger geworden. Dabei kommt der Datenformatkonvertierung eine besondere Bedeutung zu. In diesem Artikel erfahren Sie, wie Sie chinesische Arrays in PHP in das JSON-Format konvertieren.
1. Was ist ein chinesisches Array?
Chinesische Arrays ähneln gewöhnlichen Arrays, außer dass die Schlüsselnamen und Werte der Array-Elemente chinesische Zeichenfolgen sind. Zum Beispiel:
$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
2. Was ist JSON? JSON (JavaScript Object Notation) ist eine Sprache für den Datenaustausch. Sie stellt Daten in prägnanter Form dar und ist leicht zu lesen und zu schreiben. JSON kann Zahlen, Zeichenfolgen, boolesche Werte, Arrays, Objekte usw. darstellen und wird häufig in Webanwendungen verwendet. Zum Beispiel:
{ "name": "John", "age": 30, "city": "New York" }
3. Chinesisches Array in JSON konvertieren
In PHP können wir die Funktion json_encode() verwenden, um das chinesische Array in das JSON-Format zu konvertieren. Beispiel:
$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男"); $json_str = json_encode($cn_arr,JSON_UNESCAPED_UNICODE); echo $json_str;
Der Parameter JSON_UNESCAPED_UNICODE im Code dient dazu, verstümmelte chinesische Zeichen zu verhindern, was bedeutet, dass Chinesisch nicht mit Unicode codiert wird.
Wenn wir ein sauberes JSON-Format ausgeben möchten, können wir den zweiten Parameter JSON_PRETTY_PRINT der Funktion json_encode() verwenden. Beispiel:
$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男"); $json_str = json_encode($cn_arr,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT); echo $json_str;
Das Ausgabeergebnis lautet wie folgt:
{ "姓名": "张三", "年龄": 20, "性别": "男" }
Es ist zu beachten, dass die Funktion json_encode() nur UTF-8-codierte Zeichenfolgen verarbeiten kann. Wenn Ihre PHP-Dateikodierung nicht UTF-8 ist, müssen Sie die Funktion mb_convert_encoding() verwenden, um die Array-Elemente in UTF-8-kodierte Zeichenfolgen zu konvertieren, zum Beispiel:
$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 in chinesisches Array
In PHP haben wir Sie können die Funktion json_decode() verwenden, um eine JSON-formatierte Zeichenfolge in ein Array zu konvertieren. Zum Beispiel:
$json_str = '{"姓名":"张三","年龄":20,"性别":"男"}'; $cn_arr = json_decode($json_str,true); print_r($cn_arr);
Der zweite Parameter true im Code bedeutet die Konvertierung des JSON-Objekts in ein Array. Das Ausgabeergebnis lautet wie folgt:
Array ( [姓名] => 张三 [年龄] => 20 [性别] => 男 )
Es ist zu beachten, dass die Funktion json_decode() nur UTF-8-codierte Zeichenfolgen verarbeiten kann. Wenn Ihre JSON-String-Kodierung nicht UTF-8 ist, müssen Sie die Funktion mb_convert_encoding() verwenden, um die Zeichenfolge in die UTF-8-Kodierung zu konvertieren, zum Beispiel:
$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. Zusammenfassung
In diesem Artikel wird die Konvertierung chinesischer PHP-Arrays vorgestellt in die JSON-Formatmethode und wie man einen JSON-String in ein chinesisches Array konvertiert. Bei der Konvertierung von Datenformaten muss besonderes Augenmerk auf Kodierungsprobleme gelegt werden, um verstümmelte Zeichen zu vermeiden.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein chinesisches Array in PHP in JSON. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!