Dalam proses pembangunan WEB, kami sering menggunakan pertukaran data format json, dan php ialah salah satu bahasa sebelah pelayan yang paling popular. Oleh itu, adalah perlu untuk menukar tatasusunan json kepada tatasusunan php semasa pembangunan. Artikel ini akan menerangkan cara menukar tatasusunan json kepada tatasusunan php.
1. Gunakan fungsi json_decode() untuk menukar tatasusunan json kepada tatasusunan php
fungsi json_decode() ialah fungsi terbina dalam PHP untuk menukar rentetan json kepada pembolehubah php. Menggunakan fungsi ini, anda boleh menukar tatasusunan json kepada tatasusunan php.
Kaedah pelaksanaan khusus adalah seperti berikut:
$json = '[{"name":"apple","color":"red"},{"name":"banana","color":"yellow"}]'; $array = json_decode($json, true); print_r($array);
Dalam kod di atas, kami menggunakan rentetan untuk mewakili tatasusunan json dan menetapkannya kepada pembolehubah $json. Kemudian, kami menggunakan fungsi json_decode() untuk menukar $json kepada tatasusunan php, dan kemudian gunakan fungsi print_r() untuk mengeluarkan tatasusunan.
Hasil keluaran adalah seperti berikut:
Array ( [0] => Array ( [name] => apple [color] => red ) [1] => Array ( [name] => banana [color] => yellow ) )
Seperti yang dapat dilihat daripada hasil keluaran, kami berjaya menukar tatasusunan json kepada tatasusunan php.
2. Mengendalikan kegagalan penukaran json_decode()
Dalam kod di atas, kami menggunakan fungsi json_decode() untuk menukar tatasusunan json kepada tatasusunan php. Walau bagaimanapun, jika rentetan json tidak diformat dengan betul, atau rentetan itu kosong, fungsi json_decode() akan mengembalikan null. Pada masa ini, kita perlu melakukan pemprosesan khas untuk mengelakkan daripada menyebabkan pengecualian program.
Kami boleh menggunakan kod berikut untuk mengendalikan situasi di mana penukaran json_decode() gagal:
$json = 'null'; $array = json_decode($json, true); if (is_null($array)) { echo 'json格式错误或为空'; } else { print_r($array); }
Dalam kod di atas, kami menetapkan rentetan json kosong kepada pembolehubah $json. Kemudian, kami menggunakan fungsi json_decode() untuk menukar $json kepada tatasusunan php. Seterusnya, kami menggunakan fungsi is_null() untuk menilai hasil penukaran Jika hasil pulangan adalah batal, ini bermakna format json tidak betul atau kosong. Pada masa ini, kami menggunakan pernyataan gema untuk mengeluarkan mesej ralat jika tidak, kami menggunakan fungsi print_r() untuk mengeluarkan tatasusunan.
3. Gunakan fungsi foreach() untuk melintasi tatasusunan php
Selepas menukar tatasusunan json kepada tatasusunan php, kita selalunya perlu memproses tatasusunan php. Tatasusunan PHP sering dilalui menggunakan fungsi foreach().
Berikut ialah contoh kod yang menunjukkan cara menggunakan fungsi foreach() untuk melintasi tatasusunan php:
$json = '[{"name":"apple","color":"red"},{"name":"banana","color":"yellow"}]'; $array = json_decode($json, true); foreach ($array as $value) { echo $value['name'].'的颜色是'.$value['color'].'<br>'; }
Dalam kod di atas, kami menggunakan fungsi foreach() untuk melintasi tatasusunan php. Kami menggunakan setiap elemen tatasusunan sebagai nilai pembolehubah $value, dan kemudian menggunakan pernyataan gema untuk mengeluarkan nilai atribut "nama" dan "warna" setiap elemen.
Hasil keluaran adalah seperti berikut:
apple的颜色是red banana的颜色是yellow
4. Tukar tatasusunan php kepada rentetan json
Selain menukar tatasusunan json kepada tatasusunan php, kita selalunya perlu Tukar tatasusunan php kepada rentetan json. Nasib baik, PHP menyediakan fungsi json_encode(), yang boleh menukar tatasusunan php kepada rentetan json.
Berikut ialah contoh kod yang menunjukkan cara menukar tatasusunan php kepada rentetan json:
$array = array( array('name' => 'apple', 'color' => 'red'), array('name' => 'banana', 'color' => 'yellow') ); $json = json_encode($array); echo $json;
Dalam kod di atas, kami menggunakan tatasusunan php untuk mewakili senarai buah-buahan . Kemudian, kami menggunakan fungsi json_encode() untuk menukar tatasusunan menjadi rentetan json dan menetapkannya kepada pembolehubah $json. Akhir sekali, kami menggunakan pernyataan gema untuk mengeluarkan $json.
Hasil keluaran adalah seperti berikut:
[{"name":"apple","color":"red"},{"name":"banana","color":"yellow"}]
Seperti yang dapat dilihat daripada hasil keluaran, kami berjaya menukar tatasusunan php kepada rentetan json.
Ringkasan
Artikel ini memperkenalkan cara menukar tatasusunan json kepada tatasusunan php, dan mengendalikan situasi di mana penukaran json_decode() gagal menunjukkan cara menggunakan fungsi foreach() untuk melintasi a php array; akhirnya, Kami juga membincangkan cara menukar tatasusunan php kepada rentetan json.
Atas ialah kandungan terperinci Artikel yang menerangkan cara menukar tatasusunan json kepada tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!