|
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 Variablen eines anderen Datentyps oder nicht initialisierten Variablen zu benutzen, gibt PHP einen Fehler aus. Es gibt zwei Syntaxformen; die zweite ist eine unbedeutende, aber sinnvolle Erweiterung der ersten Syntax:
foreach (array_expression as $value) Anweisung foreach (array_expression as $key => $value) Anweisung |
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 Arrayzeiger automatisch auf das erste Element des Arrays 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 Arrayzeiger 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: Bei foreach ist es nicht möglich Fehlermeldungen durch den Gebrauch von '@' zu unterdrücken ist
Beachten Sie, dass die folgenden Beispiele in ihrer Funktionalität identisch sind:
<?php |
<?php |
Noch einige Beispiele, die die Anwendung verdeutlichen:
<?php |
Zurück | Zum Anfang | Weiter |
for | Nach oben | break |
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:57