PHP bietet mehrere Möglichkeiten, Arrays zu traversieren, sowohl mit Array-Iterationsfunktionen als auch mit Sprachkonstrukten: array_walk
array_map
array_filter
foreach
list
each
, und for
Schleifen. Wir demonstrieren und beschreiben foreach
und andere Schleifenkonstrukte auf dieser Seite. Die Iterationsfunktionen behandeln wir auf einer anderen Seite.
foreach
PHP’s foreach
Schleife bietet eine komfortable Möglichkeit, über Arrays zu iterieren. Es gibt zwei Formen: die eine verwendet sowohl den Schlüssel als auch den Wert jedes Array-Eintrags, während die andere nur den Wert verwendet. Zuerst demonstrieren wir die key => value
-Form:
Der Körper der Schleife verwendet echo
, um den Schlüssel und den Wert jedes Array-Elements der Reihe nach anzuzeigen.
In diesem Beispiel verwendet foreach
nur den Wert der Array-Elemente:
$pets = ;foreach ($pets as $val) { echo "$val \n";}/*Morie Miki Halo Winnie */
Das foreach
-Konstrukt kann mit Hilfe des Referenzzeichens (&
) Werte des durchlaufenen Arrays verändern:
list/each
Eine andere gängige Methode, Arrays zu durchlaufen, verwendet eine while
-Schleife mit dem list
-Sprachkonstrukt und der each
-Funktion. Das folgende Beispiel erzielt das gleiche Ergebnis wie das oben gezeigte erste foreach
-Beispiel:
Während Sie über das Array iterieren, wird die each
-Funktion verwendet, um das aktuelle Schlüssel-Wert-Paar zurückzugeben und den Array-Zeiger weiterzuschieben. Die Funktion list
wird verwendet, um den Schlüssel und den Wert einer Variablen zuzuweisen. Die while
-Schleife endet, wenn das letzte Element im Array erreicht ist. Die reset
-Funktion wird aufgerufen, um den Array-Zeiger auf das erste Element im Array zurückzusetzen.
Das list
each
-Konstrukt kann sowohl mit Schlüssel und Wert als auch nur mit Wert verwendet werden. Das folgende Beispiel liefert das gleiche Ergebnis wie das oben gezeigte zweite foreach
Beispiel:
$pets = ;reset($pets);while ( list(, $val) = each($pets) ) { echo "$val \n";}/*Morie Miki Halo Winnie*/
for
Eine for
-Schleife kann verwendet werden, um über numerisch indizierte Arrays zu iterieren, wie wir hier demonstrieren:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { echo "$ar \n";}/*Rudi Morie Halo Miki */
Im obigen Beispiel wurde echo
verwendet, um bei jeder Iteration der Schleife den aktuellen Wert anzuzeigen. Sie können auch eine for
-Schleife verwenden, um die Werte zu ändern, wie das folgende Beispiel zeigt:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { $ar *= 2;}print_r($ar);/* Array( => 2 => 4 => 6 => 8) */
PHP-Funktionen zur Array-Iteration
Erfahren Sie mehr über das Durchlaufen von Arrays in PHP mit Hilfe der Iterationsfunktionen: array_walk
array_map
, und array_filter
.
Zurück zum Anfang