Dalam PHP, kami biasanya menggunakan tatasusunan objek untuk menyimpan dan memanipulasi data, tetapi dalam beberapa kes, kami perlu menukar tatasusunan objek kepada tatasusunan biasa untuk memproses data dengan lebih mudah. Dalam artikel ini, kami akan menerangkan cara menukar tatasusunan objek kepada tatasusunan biasa dalam PHP.
1. Definisi tatasusunan objek dan tatasusunan biasa
Dalam PHP, tatasusunan objek dan tatasusunan biasa ialah struktur data penting yang digunakan untuk menyimpan dan memanipulasi data.
Susun atur objek biasanya terdiri daripada satu set objek, setiap satu daripadanya ialah tika kelas yang mentakrifkan satu set sifat dan kaedah. Sebagai contoh, berikut ialah contoh tatasusunan objek:
$user1 = new stdClass(); $user1->id = 1; $user1->name = 'Tom'; $user1->age = 25; $user2 = new stdClass(); $user2->id = 2; $user2->name = 'Jerry'; $user2->age = 30; $users = [$user1, $user2];
Dalam contoh di atas, kami mentakrifkan tatasusunan objek $pengguna yang mengandungi dua objek pengguna Setiap objek pengguna mengandungi tiga item: id, nama dan umur.
Tatasusunan biasa terdiri daripada satu set nilai skalar Nilai skalar boleh berupa integer, rentetan, nombor titik terapung, dsb. Sebagai contoh, berikut ialah contoh tatasusunan biasa:
$numbers = [1, 2, 3, 4, 5];
Dalam contoh di atas, kami telah menentukan tatasusunan biasa $nombor yang mengandungi lima nilai integer.
2. Tukar tatasusunan objek kepada tatasusunan biasa
Walaupun tatasusunan objek dan tatasusunan biasa menyimpan data dengan cara yang berbeza, kadangkala kita perlu menukar tatasusunan objek kepada tatasusunan biasa untuk kemudahan Memproses data.
Dalam PHP, terdapat banyak cara untuk menukar tatasusunan objek kepada tatasusunan biasa, beberapa daripadanya akan diperkenalkan di bawah.
1. Gunakan gelung foreach untuk melintasi tatasusunan objek dan tukar setiap objek menjadi tatasusunan
$usersArray = []; foreach ($users as $user) { $usersArray[] = (array) $user; }
Dalam contoh di atas, kita mula-mula mentakrifkan tatasusunan baharu $usersArray dan kemudian gunakan gelung foreach Lintas tatasusunan objek asal $users, tukar setiap objek menjadi tatasusunan dan tambahkannya pada tatasusunan baharu $usersArray.
Apabila menukar objek kepada tatasusunan, kami menggunakan operator cast (tatasusunan), yang menukar objek kepada jenis tatasusunan dan menggunakan atribut objek sebagai nilai kunci tatasusunan dan nilai atribut sebagai nilai tatasusunan.
2. Gunakan fungsi array_map untuk menukar setiap objek menjadi array
$usersArray = array_map('get_object_vars', $users);
Dalam contoh di atas, kami menggunakan fungsi terbina dalam PHP Parameter pertama ialah fungsi panggil balik . Fungsi panggil balik akan digunakan untuk menukar objek kepada tatasusunan, dan parameter kedua ialah tatasusunan objek asal $users.
Dalam fungsi panggil balik get_object_vars, kami menghantar objek sebagai parameter dan menggunakan fungsi terbina dalam get_object_vars untuk menukar objek kepada tatasusunan dan mengembalikan hasil tatasusunan.
3. Gunakan fungsi json_encode dan json_decode untuk penukaran
$usersJson = json_encode($users); $usersArray = json_decode($usersJson, true);
Dalam contoh di atas, kami menggunakan fungsi json_encode dan json_decode untuk menukar tatasusunan objek kepada tatasusunan biasa.
Pertama, kami menggunakan fungsi json_encode untuk menukar tatasusunan objek asal $users menjadi rentetan JSON, kemudian gunakan fungsi json_decode untuk menukar rentetan JSON kembali kepada jenis tatasusunan, dan tetapkan parameter kedua kepada benar kepada menunjukkan hasil penukaran ialah tatasusunan bersekutu.
Perlu diambil perhatian bahawa apabila menggunakan fungsi json_decode, jika parameter kedua ditetapkan kepada palsu atau tidak ditetapkan, hasil penukaran akan menjadi objek, bukan tatasusunan.
3. Ringkasan
Artikel ini memperkenalkan tiga kaedah untuk menukar tatasusunan objek kepada tatasusunan biasa dalam PHP, iaitu menggunakan penukaran gelung foreach, penukaran fungsi peta tatasusunan dan penukaran fungsi json_encode/json_decode.
Tidak kira kaedah yang anda pilih, anda boleh menukar tatasusunan objek kepada tatasusunan biasa dan memudahkan pemprosesan data.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan objek php kepada tatasusunan biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!