Semasa proses pembangunan PHP, kami selalunya perlu memproses data jenis pengumpulan. Data jenis pengumpulan dalam PHP biasanya tatasusunan yang terdiri daripada objek. Apabila kami perlu memproses data pengumpulan ini, kadangkala kami perlu menukarnya ke dalam format tatasusunan untuk memudahkan operasi pemprosesan seterusnya. Artikel ini akan memperkenalkan cara menukar koleksi PHP kepada tatasusunan.
1. Gunakan gelung foreach
Cara paling biasa untuk menukar koleksi PHP kepada tatasusunan ialah menggunakan gelung foreach. Sebagai contoh, pertimbangkan koleksi berikut:
$col = new Collection();
$col->add(new Foo("Bill", "Denver"));
$col->add(new Foo("Jane", "Seattle"));
$col->add(new Foo("Ted", "San Francisco")) ;
Ia boleh ditukar dengan mudah kepada tatasusunan menggunakan gelung foreach:
$arr = array();
foreach ($col as $item) {
$arr[] = $item->getName();
}
Dengan cara ini, $arr menyimpan atribut nama semua objek Foo.
2. Gunakan fungsi array_map
Kaedah lain ialah menggunakan fungsi array_map() terbina dalam PHP. Fungsi array_map() boleh menerima tatasusunan dan fungsi tanpa nama sebagai parameter, dan kemudian menghantar setiap elemen dalam tatasusunan kepada fungsi tanpa nama untuk pemprosesan penukaran. Sebagai contoh, katakan kita mempunyai koleksi berikut:
$col = new Collection();
$col->add(new Foo("Bill", "Denver"));
$col->add(new Foo("Jane", "Seattle"));
$col->add(new Foo("Ted", "San Francisco" ) );
Untuk mengekstrak atribut nama semua objek Foo ke dalam tatasusunan, kita boleh menggunakan kod berikut:
$arr = array_map(function($item) {
kembali $item->getName();
}, $col->toArray());
Dengan cara ini, $arr menyimpan atribut nama semua objek Foo .
3. Gunakan fungsi array_column
PHP juga menyediakan fungsi terbina dalam array_column(), yang boleh mengekstrak lajur daripada tatasusunan berbilang dimensi untuk membentuk tatasusunan satu dimensi baharu . Sebagai contoh, katakan kita mempunyai koleksi berikut:
$data = array(
array('id' => 1, 'name' => 'Bill', 'city' = > 'Denver'),
array('id' => 2, 'name' => 'Jane', 'city' => 'Seattle'),
array('id' => 3, 'name' => 'Ted', 'city' => 'San Francisco')
);
Untuk menyenaraikan semua bandar di dalamnya Atribut diekstrak sebagai tatasusunan Anda boleh menggunakan kod berikut:
$arr = array_column($data, 'city');
Dengan cara ini, semua nilai atribut bandar. disimpan dalam $arr.
Ringkasnya, semasa memproses data pengumpulan PHP, menukarkannya kepada format tatasusunan boleh memudahkan operasi pemprosesan seterusnya. Artikel ini memperkenalkan tiga kaedah yang biasa digunakan: menggunakan foreach loop, menggunakan fungsi array_map dan menggunakan fungsi array_column. Pembangun boleh memilih kaedah yang paling sesuai mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menukar koleksi PHP kepada array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!