Schleifen in PHP erstellen: while(), do while(), for()
Verschiedene Vorgänge benötigen mehrere Durchgänge, bis ein bestimmter Zustand erreicht ist. Diese wiederholenden Abläufe werden über Schleifen programmiert. Dazu stehen 3 Arten in PHP zur Verfügung: while(), do while(), for(), die wir uns in diesem Kapitel ansehen.
Dazu werden Schleifen benötigt – in PHP gibt es 3 typische Schleifen:
- while
- do..while
- for
Im ersten Beispiel wird die Schleife 10-mal durchlaufen und jeweils die Nummer ausgegeben.
while - Schleife
PHP-Quellcode: Beispiel while-Schleife
<?php
$i = 1;
while ($i <= 10)
{
echo $i; // es wird $i ausgegeben
echo "<br>";
$i++ ; // Wert wird um 1 erhöht
}
?>
Durch das while
wird die Schleife solange durchlaufen, bis die Bedingung erfüllt ist – im Beispiel solange $i kleiner als 11 ist.
1
2
3
4
5
6
7
8
9
10
Die Schleife muss nicht unbedingt durchlaufen werden – das ist der Fall, wenn $i bereits am Anfang größer als der in der Bedingung gestellte Wert (im Beispiel 10) ist. Probieren Sie folgendes Programm aus:
PHP-Quellcode: Beispiel nicht durchlaufene while-Schleife
<?php
$i = 11;
while ($i <= 10)
{
echo $i; // es wird $i ausgegeben
echo "<br>";
$i++ ; // Wert wird um 1 erhöht
}
?>
Als Ausgabe wird ein leerer Bildschirm erscheinen.
do ... while - Kontrolle der Bedingung am Ende
Wenn die Schleife auf jeden Fall einmal durchlaufen werden soll, dann ist die Konstruktion do...while die Richtige.
PHP-Quellcode: Beispiel do-while-Schleife
<?php
$i = 11;
do
{
echo $i; // es wird $i ausgegeben
echo "<br>";
$i++ ; // Wert wird um 1 erhöht
} while ($i <= 10);
?>
Als Ergebnis erhalten Sie die Ausgabe 11 und die Schleife bricht ab, da die Bedingung am Ende der Schleife erfüllt ist. Da die Abfrage erst am Ende kommt, wird die Schleife mindestens einmal durchlaufen.
11
do ... while Schleifen können auch mittendrin unterbrochen werden, wenn Bedingungen erfüllt sind. Dazu gibt es den break-Befehl. Unser Bespiel von oben wird erweitert:
PHP-Quellcode: do-while-Schleife mit Abbruch-Meldung
<?php
$i = 11;
do
{
if ( $i > 10 )
{
echo "i ist bereits größer als 10";
break;
}
echo $i; // es wird $i ausgegeben
echo "<br>";
$i++ ; // Wert wird um 1 erhöht
} while ($i <= 10);
?>
i ist bereits größer als 10
for-Schleife
Derselbe Vorgang als for-Schleife.
PHP-Quellcode: Beispiel for-Schleife
<?php
for ($i = 1; $i <= 10; $i++ )
{
echo $i . "<br>";
}
?>
1
2
3
4
5
6
7
8
9
10
Auch bei der for-Schleife gibt es die Möglichkeit, die Schleife abzubrechen.
PHP-Quellcode: for-Schleife mit Abbruchbedingung
<?php
for ($i = 1; $i <= 10; $i++ )
{
if ( $i > 6 )
{
break;
}
echo $i . "<br>";
}
?>
1
2
3
4
5
6
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: