
In diesem Artikel lernst du, wie du mit Schleifen in PHP eine Folge von Aktionen wiederholst.
Die verschiedenen Schleifentypen in PHP
Schleifen führen denselben Codeblock immer wieder aus, solange eine bestimmte Bedingung erfüllt ist. Die Grundidee dahinter: wiederkehrende Aufgaben in einem Programm automatisieren und damit Zeit und Aufwand sparen. PHP kennt vier verschiedene Schleifentypen.
- while – wiederholt einen Codeblock, solange die angegebene Bedingung wahr ist.
- do while – der Codeblock wird einmal ausgeführt, danach wird die Bedingung ausgewertet. Ist sie wahr, wird die Anweisung wiederholt, solange die angegebene Bedingung wahr bleibt.
- for – wiederholt einen Codeblock, bis der Zähler einen bestimmten Wert erreicht.
- foreach – wiederholt einen Codeblock für jedes Element eines Arrays.
Am Ende dieses Kapitels weißt du außerdem, wie du die Werte eines Arrays mit der php foreach-Schleife durchläufst. Die php foreach-Schleife arbeitet ausschließlich mit Arrays.
Die while-Schleife in PHP
Mit der Anweisung php while wiederholst du einen Codeblock, solange die in der php while-Anweisung angegebene Bedingung wahr ist.
php while
while(condition){
// Auszuführender Code
}Das folgende Beispiel definiert eine Schleife, die mit $i=1 startet. Sie läuft weiter, solange $i kleiner oder gleich 3 ist. $i wird bei jedem Durchlauf um 1 erhöht:
php while
$i = 1;
while($i <= 3){
$i++;
echo "Le nombre est " . $i . "<br>";
}Ergebnis:
Le nombre est 2
Le nombre est 3
Le nombre est 4
Die do-while-Schleife in PHP
Die php-do while-Schleife ist eine Variante der while-Schleife, die die Bedingung am Ende jedes Durchlaufs auswertet. Bei einer php-do while-Schleife wird der Codeblock einmal ausgeführt und erst danach die Bedingung geprüft. Ist sie wahr, wird die Anweisung wiederholt, solange die geprüfte Bedingung wahr bleibt.
php while
do{
// Auszuführender Code
}
while(condition);Das folgende Beispiel definiert eine Schleife, die mit $i=1 startet. Sie erhöht $i um 1 und gibt das Ergebnis aus. Danach wird die Bedingung ausgewertet, und die Schleife läuft weiter, solange $i kleiner oder gleich 3 ist.
php do while
$i = 1;
do{
$i++;
echo "The number is " . $i . "<br>";
}
while($i <= 3);Ergebnis:
Le nombre est 2
Le nombre est 3
Le nombre est 4
Unterschied zwischen while und do while
Die php while-Schleife unterscheidet sich in einem wesentlichen Punkt von der php do while-Schleife: Bei php while wird die Bedingung zu Beginn jedes Durchlaufs geprüft, eine von vornherein falsche Bedingung führt also dazu, dass die Schleife nie ausgeführt wird.
Bei einer php do while-Schleife dagegen läuft der Block immer mindestens einmal, selbst wenn die Bedingung falsch ist, denn geprüft wird am Ende des Durchlaufs und nicht am Anfang.
Die for-Schleife in PHP
Die php for-Schleife wiederholt einen Codeblock, solange eine bestimmte Bedingung erfüllt ist. Üblicherweise nutzt du sie, um einen Codeblock eine feste Anzahl von Malen auszuführen.
php for
for(initialisation; condition; incrementation){
// Auszuführender Code
}Die Parameter der php for-Schleife haben folgende Bedeutung:
- Initialisierung – dient dazu, die Zählervariablen zu initialisieren, und wird einmal ohne Bedingung ausgewertet, bevor der Schleifenrumpf zum ersten Mal läuft.
- Bedingung – wird zu Beginn jedes Durchlaufs ausgewertet. Ergibt sie true, läuft die Schleife weiter und die verschachtelten Anweisungen werden ausgeführt. Ergibt sie false, endet die Schleife.
- Inkrement – setzt den Schleifenzähler auf einen neuen Wert. Es wird am Ende jedes Durchlaufs ausgewertet.
Das folgende Beispiel definiert eine Schleife, die mit $i=1 startet. Sie läuft, solange $i kleiner oder gleich 3 ist. Die Variable $i wird bei jedem Durchlauf um 1 erhöht:
php for
for($i=1; $i<=3; $i++){
echo "Le nombre est " . $i . "<br>";
}Ergebnis:
Le nombre est 2
Le nombre est 3
Le nombre est 4
Die foreach-Schleife in PHP
Die php foreach-Schleife dient dazu, über Arrays zu iterieren.
php foreach array
foreach($array as $value){
// Auszuführender Code
}Das folgende Beispiel zeigt eine Schleife, die die Werte des angegebenen Arrays ausgibt:
php foreach array
$colors = array("Rouge", "Vert", "Bleu");
// Über das Array der Farben iterieren
foreach($colors as $value){
echo $value . "<br>";
}Ergebnis:
Rouge
Vert
Bleu
Es gibt eine zweite Schreibweise der php foreach-Schleife, die die erste erweitert.
php foreach key value
foreach($array as $key => $value){
// Auszuführender Code
}php foreach key value
$superhero = array(
"nom" => "Peter Parker",
"email" => "peterparker@marvel.com",
"âge" => 16
);
// Über das Array der Superhelden iterieren
foreach($superhero as $key => $value){
echo $key . " : " . $value . "<br>";
}Ergebnis:
nom : Peter Parker
email : peterparker@mail.com
âge : 18
Fazit
Damit hast du die Schleifen im Griff. Wenn du dein PHP-Wissen weiter abrunden willst, lies auch meinen Artikel über das Erzeugen und Formatieren von Datumsangaben in PHP sowie mein PHP-Tutorial zu Laravel, das dir die Grundlagen für die Arbeit mit einem PHP-Framework vermittelt.


