Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Cekap Berulang Melalui Dua Tatasusunan Secara serentak dalam PHP?

Bagaimana untuk Cekap Berulang Melalui Dua Tatasusunan Secara serentak dalam PHP?

Patricia Arquette
Lepaskan: 2024-12-01 08:26:10
asal
869 orang telah melayarinya

How to Efficiently Iterate Through Two Arrays Simultaneously in PHP?

Bagaimana untuk Menggelung Melalui Dua Tatasusunan Sekali gus?

Untuk menggelung secara serentak melalui dua tatasusunan, kod yang disediakan dalam soalan menggunakan gelung foreach bersarang. Walau bagaimanapun, pendekatan ini tidak cekap kerana ia menghasilkan keputusan yang salah.

Berikut adalah penyelesaian yang berkesan untuk mengatasi cabaran ini:

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

Kaedah ini membenarkan gelung serentak melalui berbilang tatasusunan.

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 ArrayIterators untuk tatasusunan yang dikehendaki.

$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 Kaedah Gelung (PHP >= 4.3)

Gunakan gelung for dengan pembilang untuk mengakses elemen yang sepadan daripada 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 mencipta tatasusunan tunggal dengan elemen daripada tatasusunan pertama sebagai kunci dan yang daripada tatasusunan kedua sebagai nilai .

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 menggelungkan nombor tatasusunan yang tidak diketahui, gabungkan 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 Dua Tatasusunan Secara 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