Bagaimana untuk menukar tatasusunan Cina ke json dalam php

PHPz
Lepaskan: 2023-04-18 10:05:44
asal
587 orang telah melayarinya

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,"性别"=>"男");
Salin selepas log masuk

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"
}
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

Hasil output adalah seperti berikut:

{
    "姓名": "张三",
    "年龄": 20,
    "性别": "男"
}
Salin selepas log masuk

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;
Salin selepas log masuk

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);
Salin selepas log masuk

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

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

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!