Verschiedene Vorgänge benötigen mehrere Durchgänge, bis ein bestimmter Zustand erreicht ist.
Zum Beispiel kann man, um die Zahlen 1 bis 10 auszugeben folgenden PHP-Code verwenden:
<?php echo "1 <br />"; echo "2 <br />"; echo "3 <br />"; echo "4 <br />"; echo "5 <br />"; echo "6 <br />"; echo "7 <br />"; echo "8 <br />"; echo "9 <br />"; echo "10 <br />"; ?>
Der verwendete Befehl ist stets derselbe (echo
), nur das Argument ändert sich bei jedem Aufruf (Die Zahl ist eins größer als zuvor). Diesen Effekt kann man mit einer while-Schleife erreichen:
<?php $i = 1; while ($i <= 10) { echo $i . "<br />"; // es wird $i ausgegeben, $i++; // Wert wird um 1 erhöht } ?>
Dabei werden alle Befehle im Schleifenblock (innerhalb der geschweiften Klammern) solange wiederholt, wie die Bedingung im Argument ($i < = 10) wahr ist. Das Beisplie zeigt eine kopfgesteuerte while-Schleife.
$i++
ist der sogenannte Inkrement Operator, er erhöht die Variable $i
um eins. Alternativ und länger könnte man $i=$i+1;
schreiben.
Erstelle eine Seite mit Formular und ein php-Skript, mit der man durch Eingabe einer Zahl bestimmen kann, bis zu welcher Zahl das Skript „zählt“.
Manchmal möchte man erreichen, dass der Schleifenblock mindestens einmal durchlaufen wird, sogar dann, wenn die Bedingung von Beginn an nicht erfüllt ist. Dies kann man mit einer fußgesteuerten while-Schleife erreichen:
<?php $i = 11; do { echo $i . "<br />"; // es wird $i ausgegeben, $i++; // Wert wird um 1 erhöht } while ($i <= 10); ?>
Hier wird die Bedingung am Ende überprüft, der Schleifenblock läuft mindestens einmal durch.
Ändere dein Skript von oben so ab, dass es eine fußgesteuerte Schleife verwendet.
=> Lektion 7.2: Schleifenunterbrechung
=> Übersicht: Einführung in PHP