In PHP gibt es wie in anderen Programmiersprachen die for-Schleife um Arrays zu durchlaufen bzw. um eine Anweisung mehr als einmal auszuführen.

Syntax:

for (startStatement; condition; loopStatement) { ... }
for (startStatement; condition; loopStatement) : ... endfor;

startStatement  – Statement das vor dem 1. Schleifendurchlauf ausgeführt wird. Meist wird eine Zählvariable initialisiert.
condition – Bedingung die vor jedem Schleifendurchlauf ausgeführt wird. Ist der Wert „true“ so wird der nächste Schleifendurchlauf durchgeführt. Bei „false“ wird die Iteration/For-Schleife beendet.
loopStatement  – Am Ende jedes Schleifendurchlaufs wird dieses Statement ausgeführt. Hier wird dann meist eine Zählvariable verändert.

Beispiele:

Initialisierung der Zählvariablen $i mit 1. Solange $i kleiner oder gleich 5 ist, wird die Schleife fortgesetzt, während am Ende eines Schleifendurchgangs die Zählvariable $i um 1 erhöht wird. Hier werden die Zahlen von 1 bis 5 ausgegeben.

for ($i = 1; $i <= 5; $i++) {
    echo $i;
}

Analog können die Zahlen natürlich auch rückwärts ausgegeben werden.

for ($i = 5; $i >= 1; $i--) {
    echo $i;
}

Hier das 1. Beispiel in der Syntax mit den Doppelpunkten.

for ($i = 1; $i <= 5; $i++) :
    echo $i;
endfor;

Bei Schleifen gibt es auch die Möglichkeiten diese vorzeitig zu verlassen, selbst wenn die Bedingung in expression2 noch „true“ sein sollte. Hierfür gibt es den Befehl „break“. In diesem Beispiel wird nun die Schleife nicht 10 durchlaufen, sondern bereits während des 6. Durchlaufs durch „break“ verlassen.

for ($i = 1; $i <= 10; $i++) {
    if ($i > 5)
    {
        break;
    }
    echo $i;
}

Ebenso ist es möglich den aktuellen Schleifendurchlauf vorzeitig zu beenden um den nächsten Schleifendurchlauf zu beenden. Mittels „continue“ wird dann praktisch ans Ende der Schleife gesprungen. Im Beispiel wird die Zahl nicht ausgegeben.

for ($i = 1; $i <= 10; $i++) {
    if ($i == 5)
    {
        continue;
    }
    echo $i;
}

Iteration über Arrays

Mittels der for-Schleife kann auch über Arrays (nummerische Arrays) iteriert werden.

$vector = array(1, 3, 5, 7, 9);
for($i = 0; $i < count($vector); $i++) {
    echo $vector[$i];
}

Meist wird jedoch die passendere foreach-Schleife für Arrays verwendet.

Syntax:

foreach(<arrayVariable> as <arrayValue>) { ... }
foreach(<arrayVariable> as <arrayKey> => <arrayKey>) { ... }

Bei Arrays mit Schlüssel-Werte-Paaren sprechen wird von assoziativen Arrays gesprochen (hier ist der Wert des „Keys“ meist ein String). In den anderen Fällen ist nur von Arrays die Rede. Bei assoziativen Arrays wird die 2. Foreach Variante genutzt.

Beispiele:

Hier ein Beispiel mit normalem Array:

$vector = array(1, 3, 5, 7, 9);
foreach($vector as $value) {
    echo $value;
}

Und hier das Beispiel für assoziativen Arrays:

$map = array(1 => "eins", 2 => "zwei", 3 => "drei");
foreach($map as $key => $value) {
    echo $key;
    echo $value;
}

 Antworten

   
Impressum Suffusion theme by Sayontan Sinha