while
(PHP 4, PHP 5)
while-Schleife ist der einfachste Schleifentyp in PHP. Es verhält sich genauso wie in der C-Sprache. Das Grundformat der while-Anweisung ist:
while (expr) statement
Die Bedeutung der while-Anweisung ist sehr einfach. Sie weist PHP an, die verschachtelte Schleifenanweisung so lange auszuführen, wie der Wert des while-Ausdrucks ist WAHR. Der Wert des Ausdrucks wird jedes Mal überprüft, wenn die Schleife beginnt. Selbst wenn sich der Wert während der Schleifenanweisung ändert, wird die Ausführung der Anweisung also nicht gestoppt, bis die Schleife endet. Wenn der Wert des while-Ausdrucks zu Beginn FALSE ist, wird die Schleifenanweisung manchmal nicht einmal ausgeführt.
Wie bei if-Anweisungen können Sie geschweifte Klammern verwenden, um eine Anweisungsgruppe in eine While-Schleife einzuschließen, oder eine alternative Syntax verwenden:
while (expr): statement ... endwhile;
Die folgenden zwei Beispiele sind Völlig das Gleiche, Anzeige der Zahlen 1 bis 10:
<?php /* example 1 */ $i = 1; while ($i <= 10) { echo $i++; /* the printed value would be $i before the increment (post-increment) */ } /* example 2 */ $i = 1; while ($i <= 10): print $i; $i++; endwhile; ?>
do-while
(PHP 4, PHP 5)
do-while-Schleife und while-Schleife Sehr ähnlich, außer dass der Wert des Ausdrucks am Ende jeder Schleife statt am Anfang überprüft wird. Der Hauptunterschied zu einer normalen While-Schleife besteht darin, dass die do-while-Schleifenanweisung garantiert einmal ausgeführt wird (der Wahrheitswert des Ausdrucks wird nach jeder Schleife überprüft), in einer normalen While-Schleife ist dies jedoch nicht unbedingt der Fall (die Wahrheitswert des Ausdrucks. Wird am Anfang der Schleife überprüft. Wenn er am Anfang FALSE ist, wird die gesamte Schleife sofort beendet.
do-while-Schleife hat nur eine Syntax:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
Die obige Schleife wird genau einmal ausgeführt, da nach der ersten Schleife beim Überprüfen des Ausdrucks Wenn wahr , ist sein Wert FALSE ($i ist nicht größer als 0) und führt zum Abbruch der Schleife.
Erfahrene Benutzer der C-Sprache kennen möglicherweise eine andere Verwendung der do-while-Schleife, bei der die Anweisung in do-while(0) eingefügt wird und die break-Anweisung innerhalb der Schleife verwendet wird, um die Ausführungsschleife zu beenden. Der folgende Codeausschnitt demonstriert diese Methode:
<?php do { if ($i < 5) { echo "i is not big enough"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } echo "i is ok"; /* process i */ } while(0); ?>
Machen Sie sich keine Sorgen, wenn Sie es nicht sofort verstehen. Sie können weiterhin leistungsstarken Code schreiben, ohne diese „Funktion“ zu verwenden. Seit PHP 5.3.0 können Sie mit goto auch aus Schleifen ausbrechen.