# 4.7.2 For, continue

Die `for`-Schleife ist eine oft genutzte Schleife in PHP und verhält sich wie die `for`-Schleife in C. Sie erwartet drei durch Semikolons getrennte Anweisungen: die erste Anweisung wird dabei vor jeder Ausführung der Schleife ausgeführt, die zweite Anweisung wird zur Überprüfung genutzt und die Schleife wird nur ausgeführt, wenn diese Anweisung den Wert Wahr (`true`) zurückgibt. Am Ende jedes Schleifendurchlaufes wird dann die dritte Anweisung ausgeführt. Üblicherweise nutzt man diese Schleife, wenn etwas für eine bestimmte Anzahl wiederholt werden soll.

    1
    2
    3
    4
    <?php
    for ($count = 1; $count <= 10; $count++) {
        echo "$count <br>";
    }

In der Ausgabe wird so einfach von 1 bis 10 hoch gezählt. Die Schleife wird somit 10-mal durchlaufen, da `$count` kleiner oder gleich 10 ist. Erst nach dem 10. Durchlauf wird `$count` auf 11 gesetzt, wodurch die Schleife nicht mehr ausgeführt wird.

In einer `for`-Schleife sollten aber nie feste Werte eingetragen werden. Der folgende Sourcecode ist somit viel professioneller:

    1
    2
    3
    4
    5
    6
    <?php
    $start =  1;
    $stop  = 10;
    for ($count = $start; $count <= $stop; $count++) {
        echo "$count <br>";
    }

Übung

Überlegen Sie sich eine `for`-Schleife, die von 200 in 5er-Schritten runter zählt auf 100.

Lösung

    1
    2
    3
    4
    5
    6
    7
    <?php
    $start = 200;
    $stop  = 100;
    $step  = 5;
    for ($count = $start; $count >= $stop; $count -= $step) {
        echo "$count <br>";
    }

Übung

Überlegen Sie sich eine `for`-Schleife, die die Summe der Zahlen im Bereich 20 bis 50 bildet. Die Ausgabe soll wie folgt aussehen: 20+21+22+...+49+50=1085

Lösung

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    <?php
    $start = 20;
    $stop = 50;
    $result = 0; // wird als Integer initialisiert
    for ($count = $start; $count < $stop; $count++) {
        echo "$count+";
        $result += $count;
    }
    // noch den letzten Wert $stop addieren
    $result += $stop;
    echo "$stop=$result";

## continue

Die `continue`-Anweisung ist in manchen Situationen sehr hilfreich. Hierdurch wird der aktuelle Schleifen-Durchgang sofort unterbrochen und die Bedingung neu geprüft.

In der `for`-Schleife soll nun die Ausgabe des Wertes 6 übersprungen werden:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    <?php
    $start = 1;
    $stop = 10;
    $skip = 6;
    for ($count = $start; $count <= $stop; $count++) {
        if ($count === $skip) {
            continue;
        }
        echo "$count <br>";
    }

Ein `continue` kann auch in `foreach`- und `while`-Schleifen verwendet werden.