Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Cekap Berulang Melalui Berbilang Tatasusunan Serentak dalam PHP?

Bagaimana untuk Cekap Berulang Melalui Berbilang Tatasusunan Serentak dalam PHP?

Susan Sarandon
Lepaskan: 2024-12-02 09:36:14
asal
158 orang telah melayarinya

How to Efficiently Iterate Through Multiple Arrays Simultaneously in PHP?

Gelung Melalui Dua Tatasusunan Secara serentak

Isu Gelung Bersarang untuk setiap

Apabila menggelung melalui berbilang tatasusunan menggunakan gelung foreach bersarang, adalah penting untuk mengelakkan perangkap menggelung melalui semua elemen tatasusunan kedua untuk setiap elemen tatasusunan pertama. Ini membawa kepada keputusan yang salah.

Penyelesaian

1. Kaedah array_map() (PHP >=5.3)

array_map() membenarkan anda menghantar berbilang tatasusunan sebagai argumen dan menggelungkannya secara serentak.

array_map(function($v1, $v2){
    echo $v1 . "<br>";
    echo $v2 . "<br><br>";
}, $data1, $data2);
Salin selepas log masuk

2 . Kaedah MultipleIterator (PHP >=5.3)

Buat MultipleIterator dan lampirkan objek ArrayIterator untuk setiap tatasusunan yang anda mahu gelung melaluinya.

$it = new MultipleIterator();
$it->attachIterator(new ArrayIterator($data1));
$it->attachIterator(new ArrayIterator($data2));

foreach($it as $a) {
    echo $a[0] . "<br>";
    echo $a[1] . "<br><br>";
}
Salin selepas log masuk

3. untuk Gelung dengan Pembilang (PHP >=4.3)

Gunakan gelung for dengan pembolehubah pembilang sebagai kunci untuk kedua-dua tatasusunan.

$keysOne = array_keys($data1);
$keysTwo = array_keys($data2);

$min = min(count($data1), count($data2));

for($i = 0; $i < $min; $i++) {
    echo $data1[$keysOne[$i]] . "<br>";
    echo $data2[$keysTwo[$i]] . "<br><br>";
}
Salin selepas log masuk

4. Kaedah array_combine() (PHP >=5.0)

Jika tatasusunan mempunyai nilai unik, gunakan array_combine() untuk menggabungkannya menjadi pasangan nilai kunci, dengan $data1 ialah kunci dan $data2 ialah nilainya.

foreach(array_combine($data1, $data2) as $d1 => $d2) {
    echo $d1 . "<br>";
    echo $d2 . "<br><br>";
}
Salin selepas log masuk

5. Kaedah call_user_func_array() (PHP >=5.6)

Untuk menggelung melalui lebih daripada dua tatasusunan atau bilangan tatasusunan yang tidak diketahui, gunakan array_map() dengan call_user_func_array().

$func = function(...$numbers){
    foreach($numbers as $v)
        echo $v . "<br>";
    echo "<br>";
};
call_user_func_array("array_map", [$func, $data1, $data2]);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Cekap Berulang Melalui Berbilang Tatasusunan Serentak dalam PHP?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan