Rumah > Artikel > pembangunan bahagian belakang > Rentetan PHP json kepada tatasusunan objek tatasusunan
Apabila membangunkan aplikasi web menggunakan PHP, kita selalunya perlu menukar rentetan JSON kepada tatasusunan atau tatasusunan objek. Oleh kerana JSON ialah salah satu format data yang biasa digunakan dalam pembangunan web, menukar JSON kepada tatasusunan atau tatasusunan objek ialah operasi yang sangat biasa.
Dalam artikel ini, kami akan memperkenalkan cara menukar JSON rentetan kepada tatasusunan atau tatasusunan objek dalam PHP.
Terdapat fungsi terbina dalam json_decode() dalam PHP yang boleh menukar rentetan JSON kepada tatasusunan atau susunan objek.
Fungsi ini mempunyai dua parameter:
(1) Rentetan JSON: Rentetan JSON yang perlu ditukar.
(2) Nilai Boolean assoc: Nilai lalai adalah palsu, yang bermaksud tatasusunan objek dijana. Jika parameter ini ditetapkan kepada benar, tatasusunan bersekutu akan dijana.
Berikut ialah contoh mudah:
<?php // JSON字符串 $jsonStr = '{"name":"Tom", "age":30, "city":"New York"}'; // 将JSON字符串转换为关联数组 $arr = json_decode($jsonStr, true); // 输出数组内容 print_r($arr); ?>
Hasil keluaran:
Array ( [name] => Tom [age] => 30 [city] => New York )
Jika kami Anda tidak 't memerlukan tatasusunan bersekutu, tetapi tatasusunan objek, anda boleh menetapkan parameter bersekutu kepada palsu atau tidak melepasinya.
Berikut ialah contoh:
<?php // JSON字符串 $jsonStr = '[{"name":"Tom", "age":30}, {"name":"Jerry", "age":35}]'; // 将JSON字符串转换为对象数组 $objArr = json_decode($jsonStr); // 输出对象数组内容 foreach($objArr as $obj) { echo "Name: " . $obj->name . ", Age: " . $obj->age . "\n"; } ?>
Hasil keluaran:
Name: Tom, Age: 30 Name: Jerry, Age: 35
Dalam sesetengah kes, rentetan JSON mungkin mengandungi objek dan tatasusunan bersarang, dan kami boleh menggunakan fungsi rekursif untuk menukarnya kepada tatasusunan objek dengan mudah.
Berikut ialah contoh mudah:
<?php // JSON字符串 $jsonStr = '{"name":"Tom", "age":30, "address":{"city":"New York", "country":"USA"}, "friends":["Jerry", "Kate"]}'; // 将JSON字符串转换为对象数组 $obj = json_decode($jsonStr); // 递归地将嵌套的对象和数组转换为对象数组 function object_to_array($obj) { if(is_object($obj)) $obj = (array)$obj; if(is_array($obj)) { foreach($obj as $key=>$val) { $obj[$key] = object_to_array($val); } } return $obj; } // 输出对象数组内容 $objArr = object_to_array($obj); print_r($objArr); ?>
Hasil keluaran:
Array ( [name] => Tom [age] => 30 [address] => Array ( [city] => New York [country] => USA ) [friends] => Array ( [0] => Jerry [1] => Kate ) )
Ringkasan
Dalam artikel ini, kami memperkenalkan cara menukar aksara dalam rentetan PHP Convert JSON kepada tatasusunan atau tatasusunan objek. Sama ada anda menukar JSON kepada tatasusunan menggunakan fungsi json_decode() atau menukar JSON kepada tatasusunan objek, ia boleh dilakukan dengan mudah dan mudah. Jika rentetan JSON mengandungi objek dan tatasusunan bersarang, kami juga boleh menggunakan fungsi rekursif untuk menukarnya menjadi tatasusunan objek. Apabila kami perlu menggunakan data JSON, teknik ini boleh membantu kami memudahkan kerja pengaturcaraan kami dan meningkatkan produktiviti.
Atas ialah kandungan terperinci Rentetan PHP json kepada tatasusunan objek tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!