Menukar Objek kepada Tatasusunan dalam PHP
Menukar objek kepada tatasusunan dalam PHP ialah keperluan biasa apabila berurusan dengan struktur data. Artikel ini menyediakan panduan mendalam untuk mencapai penukaran ini dengan cekap.
Tasusunan Satu Dimensi
Untuk menukar objek satu dimensi kepada tatasusunan, anda boleh menggunakan dua kaedah:
-
Jenis Casting: Gunakan binaan (tatasusunan) untuk menghantar objek ke tatasusunan. Kaedah ini mengekalkan semua sifat, termasuk ahli awam, peribadi dan dilindungi.
-
get_object_vars() Fungsi: Fungsi ini mengembalikan tatasusunan sifat objek yang boleh diakses secara umum. Adalah penting untuk ambil perhatian bahawa ia mungkin mengecualikan sifat persendirian.
Susun Berbilang Dimensi
Menukar objek berbilang dimensi kepada tatasusunan memerlukan pendekatan yang berbeza. Berikut ialah dua kaedah yang biasa digunakan:
Pengekodan dan Penyahkodan JSON
- Ekodkan objek kepada rentetan JSON menggunakan json_encode().
- Nyahkod rentetan JSON kembali ke tatasusunan menggunakan json_decode(), menentukan parameter sebenar untuk dihuraikan sebagai bersekutu tatasusunan.
Fungsi Penukaran Rekursif
- Tentukan fungsi rekursif (cth. objectToArray()) yang menukarkan objek kepada tatasusunan secara rekursif.
- Hantar objek ke tatasusunan menggunakan (tatasusunan).
- Petakan fungsi rekursif kepada setiap elemen tatasusunan yang terhasil untuk menukar semua objek dan tatasusunan bersarang.
Contoh:
function objectToArray($object) {
if(!is_object($object) && !is_array($object))
return $object;
return array_map('objectToArray', (array) $object);
}
Salin selepas log masuk
Fungsi ini akan menukar objek dengan ahli peribadi dan dilindungi kepada tatasusunan berbilang dimensi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Objek PHP kepada Array dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!