Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar koleksi PHP kepada array

Bagaimana untuk menukar koleksi PHP kepada array

PHPz
Lepaskan: 2023-04-27 09:18:47
asal
1228 orang telah melayarinya

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan