Lektion 7.1: ''while''-Schleifen
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.
Übung 9
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“.
Fußgesteuerte while-Schleife
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.
Übung 10
Ändere dein Skript von oben so ab, dass es eine fußgesteuerte Schleife verwendet.
=> Lektion 7.2: Schleifenunterbrechung
=> Übersicht: Einführung in PHP