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.
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);
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>"; }
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>"; }
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>"; }
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]);
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!