Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Objek stdClass PHP kepada Array dengan Amanah?
php stdClass to array
Apabila bekerja dengan PHP, anda mungkin menghadapi keperluan untuk menukar objek stdClass kepada tatasusunan. Penukaran ini boleh menjadi rumit dan kaedah yang berbeza boleh mengakibatkan tingkah laku yang tidak dijangka.
Satu pendekatan biasa ialah menghantar objek ke tatasusunan menggunakan (tatasusunan) $booking. Walau bagaimanapun, kaedah ini mungkin menghasilkan tatasusunan kosong jika objek mengandungi sebarang objek atau tatasusunan bersarang.
Pilihan lain ialah menggunakan json_decode($booking, true). Kaedah ini akan menukar objek kepada tatasusunan, tetapi ia juga boleh menghasilkan tatasusunan kosong jika objek mengandungi sebarang objek atau tatasusunan bersarang.
Kaedah yang lebih dipercayai untuk menukar objek stdClass kepada tatasusunan ialah menggunakan fungsi rekursif yang berulang melalui objek dan anak-anaknya, menukar setiap elemen kepada perwakilan tatasusunan yang sepadan. Berikut ialah contoh fungsi sedemikian:
public function objectToArray($d) { if (is_object($d)) { // Gets the properties of the given object // with get_object_vars function $d = get_object_vars($d); } if (is_array($d)) { /* * Return array converted to object * Using __FUNCTION__ (Magic constant) * for recursive call */ return array_map(__FUNCTION__, $d); } else { // Return array return $d; } }
Fungsi ini akan menukar objek stdClass kepada tatasusunan, mengekalkan struktur dan nilai objek asal. Ia juga boleh digunakan untuk menukar tatasusunan kepada objek jika dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Objek stdClass PHP kepada Array dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!