PHP Handbuch
Zurück | Kapitel 16. Kontroll-Strukturen | Weiter

# 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 | Weiter
while | Nach oben | for