Menukar Objek kepada Tatasusunan dalam PHP
Objek dalam PHP mewakili struktur data yang kompleks, manakala tatasusunan ialah koleksi yang diindeks. Untuk menukar objek kepada tatasusunan, kaedah yang sesuai mesti dipilih berdasarkan dimensi tatasusunan yang diingini.
Tasusunan Satu Dimensi
Untuk tatasusunan satu dimensi , dua pendekatan biasa digunakan:
(array) Pelakon:
$array = (array) $object;
get_object_vars:
$array = get_object_vars($object);
Perbezaan utama antara kaedah ini terletak dalam cara mereka merawat sifat objek. get_object_vars hanya mengembalikan sifat awam, manakala (tatasusunan) menghantar semua sifat, termasuk peribadi dan dilindungi, kepada tatasusunan.
Tasusunan Berbilang Dimensi
Menukar objek berbilang dimensi kepada tatasusunan memberikan cabaran yang lebih besar. Satu penyelesaian yang mungkin adalah dengan menggunakan fungsi JSON PHP:
$array = json_decode(json_encode($object), true);
Walau bagaimanapun, kaedah ini mengecualikan sifat peribadi dan dilindungi serta tidak sesuai untuk objek yang mengandungi data tidak boleh dikodkan JSON.
Pendekatan alternatif adalah untuk menggunakan fungsi berikut, yang secara rekursif menukar sifat objek kepada an tatasusunan:
function objectToArray ($object) { if(!is_object($object) && !is_array($object)) return $object; return array_map('objectToArray', (array) $object); }
Fungsi ini memastikan bahawa semua sifat objek, termasuk peribadi dan dilindungi, disertakan dalam tatasusunan yang terhasil.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Objek PHP kepada Array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!