Dalam PHP, kita selalunya perlu menukar rentetan JSON kepada tatasusunan. Ini membantu kami mengendalikan dan memproses data. Lagipun, JSON ialah format pertukaran data yang ringan dan banyak antara muka rangkaian mengembalikan data dalam format JSON.
Jadi, bagaimana untuk menukar rentetan JSON kepada tatasusunan dalam PHP? Mari perkenalkan di bawah.
Dalam PHP, kita boleh menggunakan fungsi json_decode() untuk menukar rentetan JSON kepada tatasusunan PHP. Sintaks fungsi json_decode() adalah seperti berikut:
mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
Antaranya, parameter $json ialah rentetan JSON yang hendak ditukar. Parameter $assoc adalah pilihan dan nilai lalai adalah FALSE Jika ditetapkan kepada TRUE, tatasusunan yang ditukar akan menjadi tatasusunan bersekutu. Parameter $depth adalah pilihan dan menunjukkan kedalaman rekursif mengurai rentetan JSON yang lebih besar daripada kedalaman ini akan ditukar kepada NULL. Parameter $options adalah pilihan dan mewakili pilihan penghuraian JSON, yang boleh ditetapkan kepada JSON_BIGINT_AS_STRING, JSON_OBJECT_AS_ARRAY atau JSON_THROW_ON_ERROR.
Berikut ialah contoh menukar rentetan JSON kepada tatasusunan:
$json_str = '{"name": "Tom", "age": 20, "gender": "male"}'; $arr = json_decode($json_str, true); print_r($arr);
Hasil keluaran:
Array ( [name] => Tom [age] => 20 [gender] => male )
Jika rentetan JSON mengandungi aksara Cina, aksara bercelaru mungkin muncul dalam tatasusunan yang ditukar. Pada masa ini, kita perlu menggunakan pilihan JSON_UNESCAPED_UNICODE untuk mengecualikan semua aksara bukan ASCII daripada pengekodan heksadesimal.
Berikut ialah contoh menggunakan pilihan JSON_UNESCAPED_UNICODE:
$json_str = '{"name": "汤姆", "age": 20, "gender": "男"}'; $arr = json_decode($json_str, true, 512, JSON_UNESCAPED_UNICODE); print_r($arr);
Hasil keluaran:
Array ( [name] => 汤姆 [age] => 20 [gender] => 男 )
Kadangkala, rentetan JSON mengandungi aksara khas, seperti kandungan yang terdiri daripada < Watak istimewa ini perlu dilepaskan dalam spesifikasi sintaks JSON, tetapi beberapa rentetan JSON yang dikembalikan oleh antara muka tidak terlepas.
Pada masa ini, kita perlu menggunakan pilihan JSON_UNESCAPED_SLASHES untuk memastikan bahawa aksara khas ini tidak akan terlepas.
Berikut ialah contoh menggunakan pilihan JSON_UNESCAPED_SLASHES:
$json_str = '{"name": "<Tom>", "age": 20, "gender": "&male&"}'; $arr = json_decode($json_str, true, 512, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); print_r($arr);</p> <p>Hasil keluaran: </p> <pre class="brush:php;toolbar:false">Array ( [name] => <Tom> [age] => 20 [gender] => &male& )
Di atas ialah cara menukar rentetan JSON kepada tatasusunan dalam PHP, harap ia membantu anda.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan JSON kepada tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!