Apabila bekerja dengan data JSON, anda mungkin sering menghadapi objek dengan kekunci dinamik yang nama dan nilainya tidak diketahui terlebih dahulu. Dalam senario sedemikian, menggunakan gelung foreach menjadi penting.
Pertimbangkan struktur JSON berikut:
{ "John": { "status": "Wait" }, "Jennifer": { "status": "Active" }, "James": { "status": "Active", "age": 56, "count": 10, "progress": 0.0029857, "bad": 0 } }
Untuk melelaran melalui objek ini, anda boleh memanfaatkan kelas RecursiveArrayIterator, yang membolehkan anda melintasi tatasusunan berbilang dimensi secara rekursif. Kod di bawah menunjukkan penggunaannya:
$jsonIterator = new RecursiveIteratorIterator( new RecursiveArrayIterator(json_decode($json, TRUE)), RecursiveIteratorIterator::SELF_FIRST ); foreach ($jsonIterator as $key => $val) { if (is_array($val)) { echo "$key:\n"; } else { echo "$key => $val\n"; } }
Kod ini akan berulang melalui objek JSON, mencetak kedua-dua kunci dan nilai:
John: status => Wait Jennifer: status => Active James: status => Active age => 56 count => 10 progress => 0.0029857 bad => 0
Menggunakan RecursiveArrayIterator membolehkan anda memproses JSON dengan cekap objek dengan pelbagai struktur utama, memberikan fleksibiliti dan kemudahan penggunaan dalam aplikasi PHP.
Atas ialah kandungan terperinci Bagaimana untuk Lelaran Melalui Objek PHP dengan Kekunci Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!