PHP Handbuch
Zurück | Kapitel 12. Kontroll-Strukturen | Nach vorne

# `do..while`

`Do..while`-Schleifen sind den `while` -Schleifen sehr ähnlich, außer dass der Wahrheitsgehalt des Ausdrucks erst am Ende jedes Durchlaufs geprüft wird, statt am Anfang. Der Hauptunterschied zu gewöhnlichen `while`-Schleifen ist der, dass die Schleife bei `do..while` in jeden Fall einmal durchlaufen wird (die Bedingung wird erst am Ende einer Iteration geprüft), wogegen es bei `while`-Schleifen durchaus passieren kann, dass die Schleife nie durchlaufen wird (die Bedingung wird immer am Anfang eines Durchlaufs überprüft. Wird diese Bedingung von Anfang an als `FALSE` ausgewertet endet die Ausführung der Schleife sofort).

Es gibt nur eine Syntax für `do..while`-Schleifen:

    $i = 0;
    do {
        print $i;
    } while ($i>0);

Die obige Schleife wird genau einmal durchlaufen, da nach der ersten Wiederholung die Erfüllung der Bedingung geprüft wird. Da diese aber nicht erfüllt, also `FALSE` ist ($i ist nicht größer als 0), wird die Schleifenausführung beendet.

Erfahrene C-Anwender kennen auch die Möglichkeit, Programm-Blöcke mit `do..while`(0) einzuschliessen und dann die `break` Anweisung zu benutzen. Der folgende Programm-Ausschnitt zeigt dies:

    do {
        if ($i < 5) {
            print "i ist nicht groß genug";
            break;
        }
        $i *= $factor;
        if ($i < $minimum_limit) {
            break;
        }
        print "i ist ok";

        ...bearbeite i...

    } while(0);

Es ist nicht weiter tragisch, wenn Sie dieses Beispiel nicht oder nur zum Teil verstehen. Sie können auch ohne dieses 'Feature' effektive PHP-Programme und Skripte schreiben.

Zurück | Zum Anfang | Nach vorne
`while` | Nach oben | `for`