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

Wie kann man in PHP effizient zwei Arrays gleichzeitig durchlaufen?

Patricia Arquette
Freigeben: 2024-12-01 08:26:10
Original
869 Leute haben es durchsucht

How to Efficiently Iterate Through Two Arrays Simultaneously in PHP?

Wie durchläuft man zwei Arrays gleichzeitig?

Um gleichzeitig zwei Arrays zu durchlaufen, verwendet der in der Frage bereitgestellte Code verschachtelte foreach-Schleifen. Dieser Ansatz ist jedoch ineffizient, da er zu falschen Ergebnissen führt.

Hier sind effektive Lösungen, um diese Herausforderung zu meistern:

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

Diese Methode ermöglicht das gleichzeitige Durchlaufen mehrerer Arrays.

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 ArrayIterators für die gewünschten Arrays an.

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

Verwenden Sie eine for-Schleife mit einem Zähler, um auf entsprechende Elemente aus beiden Arrays zuzugreifen.

$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 ein einzelnes Array mit den Elementen aus dem ersten Array als Schlüssel und denen aus dem zweiten Array als Werten zu erstellen .

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 eine unbekannte Anzahl von Arrays zu durchlaufen, kombinieren 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 zwei 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