foreach-Schleife
Die foreach-Schleife ist eine einfache Möglichkeit um über die Elemente eines Arrays zu iterieren. Ob ihr dort normale oder assoziative Arrays verwendet ist egal. Nachfolgend ein Beispiel:
<?php $mitarbeiter = array("Bob","Peter","Lisa"); echo "Foreach-Schleife: <br>"; foreach($mitarbeiter AS $name) { echo $name."<br>"; } ?>
Im Schleifenkopf definieren wir zuerst, dass der Array $mitarbeiter durchlaufen werden soll und dass jeder Eintrag des Arrays in der Variable $name gespeichert werden soll. Auf diese Variable könnt ihr dann in der Schleife zugreifen und so jedes Element des Arrays ausgeben oder weiter verarbeiten.
Die foreach-Schleife funktioniert ebenfalls bei assoziativen Arrays. Dort können wir sogar zusätzlich angeben, dass wir den Schlüssel des assoziativen Arrays ebenfalls als Variable abspeichern möchten:
<?php $mitarbeiter = array("Klaus" => "Müller", "Bob" => "Baumeister"); foreach($mitarbeiter AS $vorname => $nachname) { echo "$vorname $nachname <br>"; } ?>
Statt foreach($array AS $value) können wir (müssen aber nicht) bei assoziativen Arrays die foreach-Schleife als foreach($array AS $key => $value) schreiben. In dem Fall wird der Schlüssel des assoziativem Arrays in der Variable $key und der zugewiesene Wert in der Variable $value im Schleifenrumpf hinterlegt. Im obigen Fall ist also in der Variable $vorname der entsprechende Vorname, und in der Variable $nachname der entsprechende Nachname hinterlegt.
Mehrdimensionale Arrays per foreach durchlaufen
Mittels der foreach-Schleife könnt ihr auch bequem mehrdimensionale Arrays durchlaufen. Dazu müsst ihr nur entsprechend mehrere Schleifen ineinander verschachteln um so auf alle Elemente des Arrays zuzugreifen.
<?php $unternehmen = array( "Vertrieb" => array("Klaus", "Lisa", "Lea"), "Produktion" => array("Peter", "Max") ); foreach($unternehmen AS $abteilung => $mitarbeiter_der_abteilung) { echo "Mitarbeiter der Abteilung: $abteilung <br>"; foreach($mitarbeiter_der_abteilung AS $mitarbeiter) { echo "$mitarbeiter <br>"; } echo "<br>"; } ?>
Autor: Nils Reimers