Menukar Objek stdClass kepada Array dalam PHP
Apabila mendapatkan semula data daripada pangkalan data, adalah perkara biasa untuk mendapatkan objek stdClass yang mewakili baris. Walau bagaimanapun, bekerja dengan objek mungkin tidak selalunya mudah. Artikel ini membincangkan cara menukar objek sedemikian kepada tatasusunan bersekutu dalam PHP.
Masalah
Pertimbangkan senario berikut: Anda mengambil ID siaran menggunakan pertanyaan pangkalan data dan simpan mereka dalam objek stdClass ($post_id). Apabila cuba mencetak objek, anda dapati ia mengandungi elemen dengan kunci 'post_id'. Matlamat anda adalah untuk mengekstrak ID siaran sebagai tatasusunan integer dan bukannya tatasusunan objek.
Penyelesaian
Terdapat dua pendekatan utama untuk menukar objek stdClass kepada tatasusunan:
1. Pengekodan dan Penyahkodan JSON
Kaedah ini melibatkan penukaran objek kepada rentetan JSON dan kemudian menyahkodnya kembali kepada tatasusunan. Kod di bawah menunjukkan ini:
$array = json_decode(json_encode($post_id), true);
2. Manual Traversal
Sebagai alternatif, anda boleh melintasi objek secara manual dan mencipta tatasusunan sendiri:
$array = array(); foreach ($post_id as $value) { $array[] = $value->post_id; }
Contoh
Mari andaikan anda Objek $post_id kelihatan seperti ini:
Array( [0] => stdClass Object ( [post_id] => 140 ) [1] => stdClass Object ( [post_id] => 141 ) [2] => stdClass Object ( [post_id] => 142 ) )
Menggunakan manual pendekatan traversal, tatasusunan output anda ialah:
Array( [0] => 140 [1] => 141 [2] => 142 )
Kesimpulan
Kedua-dua kaedah menyediakan pilihan yang berdaya maju untuk menukar objek stdClass kepada tatasusunan. Pendekatan JSON adalah ringkas dan cekap, manakala pendekatan manual memberi anda lebih kawalan ke atas proses tersebut.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Objek stdClass kepada Array dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!