PHP Handbuch
Zurück | Kapitel 11. 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 eines Durchlaufs geprüft).Bei `while`-Schleifen hingegen kann es durchaus passieren, 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:

`<?php $i = 0; do { echo $i; } while ($i>0); ?>`

Die obige Schleife wird genau einmal durchlaufen, da nach der ersten Wiederholung die Erfüllung der Bedingung geprüft wird. Diese Bedingung ist aber nicht erfüllt ($i ist nicht größer als 0), wird als `FALSE` ausgewertet, und 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 diese Möglichkeit:

`do { if ($i < 5) { echo "i ist nicht groß genug"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } echo "i ist ok"; /* mach was mit 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`