Verstehe die Grundlagen von while-Schleife und do-while-Schleife in PHP
Sie befinden sich: Home > Php
> while-Schleife und do-while-Schleife
Sie fragen sich, was die Funktion while() in PHP macht? Nun, while() ist eine iterative Funktion, die es Ihnen ermöglicht, Code-Abschnitte mehrmals auszuführen. Es wird beispielsweise auch verwendet, um den Inhalt einer Datenbank (wie MySQLi) oder einfach den Inhalt einer Datei auszugeben. PHP bietet While-Schleifen, For-Schleifen und Foreach-Schleifen.
Die Syntax der Funktion sieht wie folgt aus:
while (Bedingung) {
Code-Abschnitt
}
Wenn die Bedingung zutrifft, wird der Code-Abschnitt wiederholt ausgeführt, bis die Bedingung nicht mehr erfüllt ist. Die Rückgabewerte der Funktion while() sind Boolean-Werte: true oder false.
Als Beispiel können Sie eine While-Schleife erstellen, um eine Liste aller Zahlen von 1 bis 10 auszugeben.
Beispiel 1:
<?php
$zahl = 1;
while ($zahl <= 10) {
echo $zahl;
$zahl++;
}
?>
Ausgabe:
12345678910
Diese Schleife wird so lange ausgeführt, bis die Bedingung ($zahl ⇐ 10) nicht mehr erfüllt ist. In diesem Fall wird der Wert der Variablen $zahl nach jedem Durchlauf um 1 erhöht.
Ablaufdiagramm vom Beispiel 1:
Das Diagramm beschreibt den Ablauf des gegebenen PHP-Codes. Zunächst wird die Variable $zahl mit dem Wert 1 initialisiert. Dann wird in jeder Schleifendurchlauf geprüft, ob der Wert von $zahl kleiner oder gleich 10 ist. Wenn dies der Fall ist, wird der aktuelle Wert von $zahl ausgegeben und der Wert von $zahl um 1 erhöht. Anschließend wird die Schleife wiederholt, um den nächsten Wert zu überprüfen. Sobald der Wert von $zahl 11 erreicht hat, wird die Schleife beendet und das Programm endet.
Als zweites Beispiel können Sie eine While-Schleife erstellen, um die Summe aller Elemente in einem Array auszugeben.
Beispiel 2:
<?php
$summe = 0;
$array = array(1, 2, 3, 4, 5);
$laenge = count($array);
$i = 0;
while ($i < $laenge) {
$summe = $summe + $array[$i];
$i++;
}
echo "Die Summe ist $summe.";
?>
Ausgabe:
Die Summe ist 15.
In diesem Beispiel wird die While-Schleife so lange ausgeführt, bis der Wert der Variablen $i der Länge des Arrays entspricht. In jedem Durchlauf wird der Wert der Variablen $summe um den Wert des aktuellen Elements im Array erhöht.
Ablaufdiagramm vom Beispiel 2:
Das Diagramm zeigt den Ablauf des gegebenen PHP-Codes. Der Startpunkt ist der Anfang des Codes.
Das Programm verwendet eine while-Schleife, die so lange ausgeführt wird, wie die Bedingung ($i < $laenge) erfüllt ist. Innerhalb der Schleife wird die Summe erhöht, indem der Wert des aktuellen Elements des Arrays zu der Summe hinzugefügt wird.
Danach wird der Index um 1 erhöht, um das nächste Element des Arrays zu verwenden. Dieser Schleifenvorgang wird so oft wiederholt, bis alle Elemente des Arrays durchlaufen wurden.
Das Diagramm zeigt auch, wie der Array-Index auf das Array-Element zugreift, um es zur Summe hinzuzufügen. Das Diagramm endet mit dem Output der Summe.
Als weiteres Beispiel können Sie eine While-Schleife verwenden, um alle Buchstaben des Alphabets auszugeben.
Beispiel 3:
<?php
$buchstabe = 'a';
while ($buchstabe <= 'z') {
echo $buchstabe."; ";
if($buchstabe=='z'){
break;
}
$buchstabe++;
}
?>
Ausgabe:
a; b; c; d; e; f; g; h; i; j; k; l; m; n; o; p; q; r; s; t; u; v; w; x; y; z;
Erklärung des Beispiel 3:
Der obige PHP-Code erstellt eine Schleife, die dazu dient, alle Buchstaben des Alphabets aufzulisten. Hierzu wird der Variable $buchstabe der Wert „a“ zugewiesen. Anschließend wird eine while-Schleife erstellt, die so lange ausgeführt wird, bis die Variable $buchstabe einen Wert von „z“ erreicht. In jeder Iteration der Schleife wird der Wert der Variable $buchstabe ausgegeben und anschließend um eins erhöht. Falls die Variable $buchstabe den Wert „z“ erreicht, wird die Schleife mittels eines break-Befehls beendet, um ein unendliches Iterieren zu verhindern.
Ablaufdiagramm vom Beispiel 3:
Das Diagramm zeigt den Ablauf des Codes, der einen Buchstaben von a bis z ausgibt, indem eine While-Schleife verwendet wird. Der Code beginnt mit der Initialisierung der Variablen ($buchstabe = 'a') und geht dann in die While-Schleife. In der Schleife wird die Bedingung ($buchstabe ⇐ „z“) geprüft und wenn sie wahr ist, wird der Code innerhalb der Schleife ausgeführt. Innerhalb der Schleife wird der Wert von $buchstabe ausgegeben, und dann wird überprüft, ob $buchstabe den Wert „z“ hat. Wenn dies der Fall ist, wird die Schleife mit dem break-Statement abgebrochen. Wenn der Wert von $buchstabe nicht „z“ ist, wird die Schleife fortgesetzt. Das Diagramm zeigt auch, dass der Code bei Abschluss der Schleife endet.
Beispiel 4:
<?php
$i = 0;
while ($i < 10) {
$i++;
if($i % 2 == 1) {
continue;
}
echo $i . "; ";
}
?>
Ausgabe:
2; 4; 6; 8; 10;
Erläuterung:
Dieser PHP-Code erstellt eine while Schleife, die 10 mal ausgeführt wird. In jeder Iteration wird die Variable $i hochgezählt. Mit dem if-Statement wird überprüft, ob die Variable $i durch 2 teilbar ist. Ist dies der Fall, wird der continue Befehl ausgeführt und der Rest des Codes in der Schleife übersprungen. Ansonsten wird die Variable $i ausgegeben. Am Ende der Schleife wird die Variable $i wieder um 1 erhöht und die Schleife wiederholt sich.
Ablaufdiagramm vom Beispiel 4:
Das Diagramm erklärt den gegebenen Code, indem es die Schritte visualisiert, die von der Start- bis zur Endanweisung des Codes ausgeführt werden. Der Code initialisiert eine Variable $i mit dem Wert 0 und führt dann eine While-Schleife aus, die so lange weiterläuft, wie $i kleiner als 10 ist. Innerhalb der Schleife erhöht der Code $i um 1 und überprüft dann, ob $i eine ungerade Zahl ist. Wenn ja, springt der Code zum nächsten Durchlauf, ohne $i auszugeben. Wenn $i gerade ist, gibt der Code $i gefolgt von einem Semikolon aus und setzt dann die Schleife fort. Falls $i den Wert 10 erreicht, wird die While-Schleife beendet.
do-While-Schleife
Eine Do-While-Schleife ist einer While-Schleife sehr ähnlich, außer dass der boolesche Ausdruck nur am Ende jeder Iteration getestet wird, nicht am Anfang. Der Hauptunterschied zu einer normalen While-Schleife besteht darin, dass eine Do-While-Schleife garantiert mindestens einmal durchlaufen wird.
Beispiel 5:
<?php
$i = 0;
do {
if ($i == 3) {
$i++;
continue;
}
echo $i;
$i++;
} while($i <= 10);
?>
Ausgabe:
01245678910
Erklärung:
Der oben gezeigte PHP-Code verwendet eine do-while Schleife, um eine Reihe von Zahlen von 0 bis 10 auszugeben. Als Erstes initialisiert der Code eine Variable $i mit dem Wert 0. Danach wird eine do-while Schleife gestartet, die so lange ausgeführt wird, bis $i größer als 10 ist. In der Schleife wird eine if-Anweisung verwendet, um zu überprüfen, ob $i den Wert 3 hat.
Wenn das der Fall ist, wird $i um eins erhöht und die nächste Anweisung wird mit dem Befehl continue übersprungen. Andernfalls wird der Wert von $i ausgegeben und anschließend um eins erhöht. Am Ende der Schleife wird der neue Wert von $i überprüft, um zu sehen, ob die Schleife weiter ausgeführt werden muss. Wenn ja, wird der Block erneut ausgeführt, andernfalls wird die Schleife beendet.
Ablaufdiagramm vom Beispiel 5:
Das Diagramm visualisiert den Ablauf des gegebenen PHP-Codes. Der Startknoten „Start“ führt zum Knoten „Setze i auf 0“, der den Wert von i auf 0 setzt. Der Knoten „Setze i auf 0“ führt zum Knoten „Beginne Schleife“, der die do-while-Schleife darstellt.
Innerhalb der Schleife wird zuerst geprüft, ob i kleiner oder gleich 10 ist. Wenn ja, wird geprüft, ob i gleich 3 ist. Wenn i gleich 3 ist, wird i um 1 erhöht und der Rest des Schleifenblocks wird übersprungen. Andernfalls wird der Wert von i ausgegeben und i um 1 erhöht, bevor die Schleife fortgesetzt wird.
Wenn i nicht kleiner oder gleich 10 ist, endet die Schleife und das Diagramm endet mit dem Knoten „Ende“.
weiter Dateihandling
mit PHP
|