"Zhang San", "Umur" => 20, "Jantina" => "Lelaki");``` 2. Apakah itu J"/> "Zhang San", "Umur" => 20, "Jantina" => "Lelaki");``` 2. Apakah itu J">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan Cina ke json dalam php

Bagaimana untuk menukar tatasusunan Cina ke json dalam php

PHPz
PHPzasal
2023-04-18 09:47:23590semak imbas

Dalam beberapa tahun kebelakangan ini, dengan perkembangan berterusan teknologi Web, interaksi data antara bahagian hadapan dan bahagian belakang telah menjadi semakin biasa. Dalam proses ini, penukaran format data amat penting. Artikel ini akan memperkenalkan cara menukar tatasusunan bahasa Cina kepada format json dalam php.

1. Apakah itu tatasusunan bahasa Cina

tatasusunan Cina adalah serupa dengan tatasusunan biasa, kecuali nama utama dan nilai elemen tatasusunan ialah rentetan bahasa Cina. Contohnya:

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

2. Apakah itu JSON

JSON (JavaScript Object Notation) ialah bahasa untuk pertukaran data Ia mewakili data dalam bentuk ringkas dan mudah dibaca dan ditulis . JSON boleh mewakili nombor, rentetan, nilai Boolean, tatasusunan, objek, dsb., dan digunakan secara meluas dalam aplikasi web. Contohnya:

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

3. Tukar tatasusunan Cina kepada JSON

Dalam php, kita boleh menggunakan fungsi json_encode() untuk menukar tatasusunan Cina kepada format JSON. Sebagai contoh: Parameter JSON_UNESCAPED_UNICODE dalam kod

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

adalah untuk mengelakkan aksara Cina yang kacau, yang bermaksud bahawa bahasa Cina tidak akan dikodkan Unikod.

Jika kita ingin mengeluarkan format JSON yang kemas, kita boleh menggunakan parameter kedua JSON_PRETTY_PRINT bagi fungsi json_encode(). Contohnya:

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

Hasil output adalah seperti berikut:

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

Perlu diingat bahawa fungsi json_encode() hanya boleh mengendalikan rentetan yang dikodkan UTF-8. Jika pengekodan fail PHP anda bukan UTF-8, anda perlu menggunakan fungsi mb_convert_encoding() untuk menukar elemen tatasusunan kepada rentetan yang dikodkan UTF-8, contohnya:

$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. Tukar JSON kepada bahasa Cina array

Dalam php, kita boleh menggunakan fungsi json_decode() untuk menukar rentetan berformat JSON kepada tatasusunan. Contohnya:

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

Parameter kedua benar dalam kod bermakna menukar objek JSON kepada tatasusunan. Outputnya adalah seperti berikut:

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

Perlu diambil perhatian bahawa fungsi json_decode() hanya boleh mengendalikan rentetan yang dikodkan UTF-8. Jika pengekodan rentetan JSON anda bukan UTF-8, anda perlu menggunakan fungsi mb_convert_encoding() untuk menukar rentetan kepada pengekodan UTF-8, contohnya:

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

Ringkasan

Artikel ini Artikel ini memperkenalkan cara menukar tatasusunan PHP Cina ke dalam format JSON dan cara menukar rentetan JSON kepada tatasusunan Cina. Apabila menukar format data, perhatian khusus perlu diberikan kepada isu pengekodan untuk mengelakkan aksara bercelaru.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan Cina ke json dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn