Do..while-Schleifen sind den while-Schleifen sehr ähnlich, ausser dass die Erfüllung des Ausdrucks am Ende jedes Durchlaufs geprüft wird (statt am Anfang). Der Hauptunterschied zu gewöhnlichen while-Schleifen ist, dass der erste Schleifen-Durchlauf bei do..while in jedem Fall statt findet, wogegen es bei while-Schleifen durchaus passieren kann, dass die Schleife nie durchlaufen wird, wenn die am Anfang zu prüfende Bedingung schon zu Beginn FALSE ist.
Es gibt nur eine Syntax für do..while-Schleifen:
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össer 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 gross genug";
break;
}
$i *= $factor;
if ($i < $minimum_limit) {
break;
}
print "i ist ok";
...process 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.