Mengulang Objek dengan Kekunci Dinamik dalam PHP
Apabila bekerja dengan objek dalam PHP, anda mungkin menghadapi situasi di mana kekuncinya dinamik dan tidak diketahui terlebih dahulu. Untuk menavigasi objek sedemikian dengan cekap, anda boleh memanfaatkan fungsi dan keupayaan terbina dalam PHP.
JSON Parsing
Jika anda mempunyai fail JSON, seperti yang disediakan dalam soalan, anda boleh menghuraikannya ke dalam pembolehubah PHP menggunakan json_decode. Ini akan mencipta tatasusunan bersekutu dengan kunci ialah nama sifat dan nilainya ialah nilai yang sepadan.
Lelaran Kunci Dinamik
Untuk mengulangi objek dan mengakses kekunci dinamik, anda boleh menggunakan RecursiveArrayIterator. Peulang ini membenarkan anda melintasi objek secara hierarki, secara rekursif memanggil kaedah next() dan rewind().
Kod Contoh
Coretan kod berikut menunjukkan cara untuk melelaran melalui objek dengan dinamik kunci:
$jsonString = file_get_contents('/home/michael/test.json'); $jsonObject = json_decode($jsonString, true); $jsonIterator = new RecursiveIteratorIterator( new RecursiveArrayIterator($jsonObject), RecursiveIteratorIterator::SELF_FIRST ); foreach ($jsonIterator as $key => $value) { if (is_array($value)) { echo "$key:\n"; } else { echo "$key => $value\n"; } }
Output
Dengan melaksanakan kod, anda akan memperoleh output berikut:
John: status => Wait Jennifer: status => Active James: status => Active age => 56 count => 10 progress => 0.0029857 bad => 0
Output ini menunjukkan cara anda boleh lelaran melalui objek, mengakses kedua-dua kekunci dinamik dan nilai yang sepadan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Melalui Objek PHP dengan Kekunci Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!