Dalam PHP, kami sering menggunakan JSON (JavaScript Object Notation) untuk menghantar data. JSON ialah format data ringan yang mudah dibaca, ditulis dan dihuraikan serta sesuai untuk pertukaran data antara bahasa yang berbeza. Kadangkala kita menghadapi situasi di mana kita perlu menukar objek JSON kepada tatasusunan Artikel ini akan memperkenalkan cara untuk mencapai fungsi ini dalam PHP.
Mari kita lihat dahulu struktur JSON Objek JSON mengandungi berbilang pasangan nilai kunci terdiri daripada nama medan dan nilai dipisahkan dengan titik bertindih nilai kekunci Asingkan pasangan dengan koma dan balutkannya dengan kurungan kerinting. Contohnya:
{ "name": "Alice", "age": 30, "height": 1.65 }
Dalam PHP, kita boleh menggunakan fungsi json_decode
untuk menukar rentetan JSON kepada pembolehubah PHP. Parameter pertama fungsi ini ialah rentetan JSON yang akan dinyahkod, dan parameter kedua ialah nilai Boolean yang menunjukkan sama ada nilai yang dikembalikan ialah tatasusunan bersekutu atau tatasusunan biasa. Jika parameter kedua ialah true
, nilai yang dikembalikan ialah tatasusunan bersekutu; jika ia false
atau ditinggalkan, nilai yang dikembalikan ialah objek.
Jadi, kita boleh menggunakan fungsi json_decode
untuk menukar rentetan JSON kepada objek PHP dan kemudian menggunakan cast untuk menukarnya menjadi tatasusunan. Contohnya:
$json = '{"name": "Alice", "age": 30, "height": 1.65}'; $obj = json_decode($json); // 将 JSON 对象转换成 PHP 对象 $arr = (array) $obj; // 将 PHP 对象转换成数组 print_r($arr);
Hasil yang dijalankan ialah:
Array ( [name] => Alice [age] => 30 [height] => 1.65 )
Kod di atas menukar objek JSON kepada tatasusunan yang mengandungi tiga elemen Nama kunci setiap elemen sepadan dengan JSON objek. Nama medan, nilai kunci sepadan dengan nilai medan.
Sudah tentu, lebih mudah jika kita terus menggunakan parameter kedua fungsi json_decode
untuk menukarnya kepada tatasusunan bersekutu. Contohnya:
$json = '{"name": "Alice", "age": 30, "height": 1.65}'; $arr = json_decode($json, true); // 将 JSON 对象转换成关联数组 print_r($arr);
Hasil yang dijalankan ialah:
Array ( [name] => Alice [age] => 30 [height] => 1.65 )
Kod di atas juga menukar objek JSON kepada tatasusunan yang mengandungi tiga elemen Nama kunci setiap elemen sepadan dengan Objek JSON Nama medan dalam , nilai kunci sepadan dengan nilai medan. Satu-satunya perbezaan ialah tatasusunan ini ialah tatasusunan bersekutu, dan nama kunci setiap elemen adalah sama persis dengan nama medan dalam objek JSON.
Untuk meringkaskan, terdapat dua cara untuk menukar objek JSON kepada tatasusunan:
json_decode
untuk menukar objek JSON kepada objek PHP, dan kemudian gunakan penukaran cast untuk Tukarkannya kepada tatasusunan. json_decode
untuk menukarnya kepada tatasusunan bersekutu. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai mengikut keperluan sebenar. Perlu diingatkan bahawa jika objek JSON mengandungi objek atau tatasusunan JSON bersarang, pemprosesan rekursif mungkin diperlukan apabila menukar kepada tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk menukar objek php json ke dalam array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!