Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man in PHP effizient mehrere Arrays gleichzeitig durchlaufen?

Wie kann man in PHP effizient mehrere Arrays gleichzeitig durchlaufen?

Susan Sarandon
Freigeben: 2024-12-02 09:36:14
Original
114 Leute haben es durchsucht

How to Efficiently Iterate Through Multiple Arrays Simultaneously in PHP?

Gleichzeitiges Durchlaufen von zwei Arrays

Problem mit verschachtelten foreach-Schleifen

Beim Durchlaufen mehrerer Arrays mit verschachtelten foreach-Schleifen ist es wichtig, die Gefahr zu vermeiden Durchlaufen aller Elemente des zweiten Arrays für jedes Element des ersten Arrays. Dies führt zu falschen Ergebnissen.

Lösungen

1. array_map()-Methode (PHP >=5.3)

array_map() ermöglicht es Ihnen, mehrere Arrays als Argumente zu übergeben und diese gleichzeitig zu durchlaufen.

array_map(function($v1, $v2){
    echo $v1 . "<br>";
    echo $v2 . "<br><br>";
}, $data1, $data2);
Nach dem Login kopieren

2 . MultipleIterator-Methode (PHP >=5.3)

Erstellen Sie einen MultipleIterator und hängen Sie ArrayIterator-Objekte für jedes Array an, das Sie durchlaufen möchten.

$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>";
}
Nach dem Login kopieren

3. for-Schleife mit Zähler (PHP >=4.3)

Verwenden Sie eine for-Schleife mit einer Zählervariablen als Schlüssel für beide Arrays.

$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>";
}
Nach dem Login kopieren

4. array_combine()-Methode (PHP >=5.0)

Wenn die Arrays eindeutige Werte haben, verwenden Sie array_combine(), um sie zu einem Schlüssel-Wert-Paar zu kombinieren, wobei $data1 der Schlüssel und $data2 ist ist der Wert.

foreach(array_combine($data1, $data2) as $d1 => $d2) {
    echo $d1 . "<br>";
    echo $d2 . "<br><br>";
}
Nach dem Login kopieren

5. call_user_func_array()-Methode (PHP >=5.6)

Um mehr als zwei Arrays oder eine unbekannte Anzahl von Arrays zu durchlaufen, verwenden Sie array_map() mit 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]);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann man in PHP effizient mehrere Arrays gleichzeitig durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage