Apabila cuba menukar objek stdClass kepada tatasusunan dalam PHP, pelbagai pendekatan mungkin tidak menghasilkan hasil yang diingini. Artikel ini meneroka sebab beberapa kaedah biasa gagal dan menawarkan penyelesaian alternatif yang mengekalkan data objek.
Kaedah berikut mungkin menghasilkan tatasusunan kosong disebabkan penggunaan atau pengehadan yang salah:
Kepada dengan cekap menukar objek stdClass kepada tatasusunan, kami boleh menggunakan kaedah pengekodan dan penyahkodan JSON dalam PHP. Berikut ialah penyelesaian satu baris:
$array = json_decode(json_encode($booking), true);<br>
Pendekatan ini mengelakkan prestasi overhed lelaran melalui objek secara rekursif sambil mengekalkan semua objek data.
Kaedah json_encode dan json_decode ialah fungsi terbina dalam dalam PHP versi 5.2.0 dan ke atas. Jika menggunakan versi PHP yang lebih lama, perpustakaan PECL diperlukan.
$stdClass = json_decode(json_encode($booking));<br>
Kaedah json_decode "membolehkan kami menentukan assoc", yang menunjukkan sama ada hendak menukar objek menjadi tatasusunan bersekutu. Dengan menetapkan nilai ini kepada benar, kita boleh menukar objek stdClass kepada tatasusunan:
$array = json_decode(json_encode($booking), true);<br>
Penyelesaian ini menawarkan cara yang mudah dan cekap untuk mengendalikan penukaran stdClass kepada tatasusunan dalam PHP.
Atas ialah kandungan terperinci Mengapa Kaedah Biasa Gagal Menukar stdClass kepada Array dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!