====== 1.7.4) Foreach-Schleife====== Die foreach-Schleife ermöglicht es, auf einfache Weise ein Array zu durchlaufen. foreach funktioniert nur in Verbindung mit Arrays. Wenn Sie versuchen, foreach mit einer Variablen eines anderen Datentyps oder einer nicht initialisierten Variablen zu benutzen, gibt PHP einen Fehler aus. ===== Definition ===== foreach (array_expression as $value) { Anweisung/en; } Mithilfe von foreach wird das Durchlaufen eines Arrays wesentlich vereinfacht. Gegenüber der while-Schleife mit list und each ist die foreach-Schleife syntaktisch deutlich im Vorteil. ==== Beispiel while ==== \n"; } ?> ==== Beispiel foreach ==== \n"; } ?> Das Array wird von Anfang bis Ende durchlaufen und bei jedem Schleifendurchlauf wird das aktuelle Element der Variablen array_expression zugewiesen. Jedes Arrayelement kann wiederum ein Array sein, dann könnte mit einer verschachtelten foreach-Schleife auch dieses Array ausgewertet werden. ==== Beispiel – mit assoziativem Array ==== $personen = array("Matthias","Caroline","Gülten"); foreach ($personen as $person) { echo "Name: $person
\n"; } // Ausgabe: // Name: Matthias // Name: Caroline // Name: Gülten
Typischerweise ist es erlaubt, einzelne Elemente eines solchen Arrays mit unterschiedlichen Datentypen zu belegen. Das können auch weitere Arrays sein. =====Erweiterte Syntax===== Sollten Sie Arrays mit Schlüssel-Wert-Paaren bauen, kann foreach mit einer erweiterten Syntax diese Paare direkt auslesen. Die grundlegende Syntax lautet: ==== Definition ==== foreach (array as $key => $value) { Anweisung/en; } Hier wird der Operator => eingesetzt, der schon bei der Konstruktion des Arrays verwendet wurde. === Beispiel === "Caroline", "Nachname" => "Kannengiesser", "Alter" => 25, "Ort" => Berlin); foreach ($person as $key => $val) { echo "Feld $key hat den Wert: $val
"; } ?>
===Ausgabe=== Feld Vorname hat den Wert: Caroline Feld Nachname hat den Wert: Kannengiesser Feld Alter hat den Wert: 25 Feld Ort hat den Wert: Berlin