Cara Menukar Objek kepada Format Tatasusunan dengan Berkesan
Dalam PHP, anda mungkin menghadapi situasi di mana objek perlu ditukar kepada format tatasusunan. Artikel ini menyelidiki pelbagai teknik untuk mencapai penukaran ini.
Tasusunan Satu Dimensi
Dua kaedah sering digunakan untuk menukar tatasusunan satu dimensi:
-
Penghantaran Jenis Eksplisit: Hanya menghantar objek ke tatasusunan menggunakan (tatasusunan) mengekalkan semua objek hartanah, termasuk ahli persendirian dan dilindungi.
$array = (array) $object;
Salin selepas log masuk
-
get_object_vars(): Fungsi ini mendapatkan semula tatasusunan yang mengandungi hanya sifat yang boleh diakses secara umum. Dalam skop objek, ia merangkumi semua sifat.
$array = get_object_vars($object);
Salin selepas log masuk
Susun Berbilang Dimensi
Menukar tatasusunan berbilang dimensi memerlukan pendekatan yang sedikit berbeza.
-
Pengekodan dan Penyahkodan JSON: Kaedah ini serasi dengan PHP 5.2 atau lebih baru. Pengekodan JSON menukarkan objek kepada rentetan JSON, yang kemudiannya dinyahkod semula menjadi tatasusunan bersekutu. Walau bagaimanapun, pendekatan ini tidak mengendalikan ahli peribadi dan dilindungi atau objek yang mengandungi data tidak boleh dikodkan JSON.
$array = json_decode(json_encode($object), true);
Salin selepas log masuk
-
Fungsi Tersuai: Fungsi berikut, berdasarkan pada versi diubah suai yang terdapat di tempat lain, menyediakan pilihan yang lebih komprehensif:
function objectToArray($object) {
if (is_object($object) || is_array($object)) {
return array_map('objectToArray', (array) $object);
}
return $object;
}
Salin selepas log masuk
Fungsi ini secara rekursif menukar semua sifat objek ke dalam format tatasusunan, tanpa mengira pengubah suai akses.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Objek PHP dengan Berkesan menjadi Array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!