foreach
PHP 4 (nicht PHP 3) enthält ein foreach Konstrukt,
genau wie Perl und einige andere Sprachen. Diese ermöglicht es, auf
einfache Weise ein Array zu durchlaufen. foreach
funktioniert nur in Verbindung mit Arrays. Wenn Sie versuchen
foreach mit einer Variable eines anderen Datentyps oder
einer nicht initialisierten Variable zu benutzen, gibt PHP einen Fehler
aus. Es gibt zwei Syntax-Formen; die zweite ist eine unbedeutende, aber
sinnvolle Erweiterung der ersten Syntax:
Die erste Form durchläuft das
array_expression-Array. Bei jedem Durchgang wird
der Wert des aktuellen Elements $value zugewiesen
und der interne Array-Zeiger um eins erhöht. Dadurch wird beim nächsten
Durchgang automatisch das nächste Element ausgewertet.
Die zweite Form arbeitet genauso, außer dass bei jedem Durchlauf
auch der aktuelle Schlüssel der Variablen $key
zugewiesen wird.
Anmerkung:
Sobald foreach zum ersten Mal ausgeführt wird,
wird der interne Array-Pointer automatisch auf das erste Element
des Arrays zurück gesetzt. Das bedeutet, dass Sie vor einem Durchlauf
von foreach reset() nicht
aufrufen müssen.
Anmerkung:
Beachten Sie auch, dass foreach mit einer
Kopie des angegebenen Arrays arbeitet, nicht mit dem Array selbst.
Deshalb wird auch der Array-Pointer nicht wie bei dem
each()-Konstrukt verändert und Veränderungen an
ausgegebenen Arrayelementen haben keine Auswirkung auf das originale
Array. Trotzdem wird der interne Arrayzeiger
des originalen Arrays bei der Verarbeitung bewegt. Angenommen, die
foreach-Schleife ist komplett abgearbeitet, wird der interne
Arrayzeiger (des originalen Arrays) auf das letzte Element zeigen.
Anmerkung:
Fehlermeldungen durch den Gebrauch von '@' zu unterdrücken ist bei
foreach nicht möglich.
Beachten Sie, dass die folgenden Beispiele in ihrer Funktionalität
identisch sind:
Auch hier funktioniert alles gleich:
Noch einige Beispiele, die die Anwendung verdeutlichen:
|