====== Schleifen in PHP ======
Wie in jeder anderen Programmiersprache auch bietet PHP die Möglichkeit, Codeteile durch den Einsatz von Schleifen mehrfach auszuführen. Hierfür stehen die folgenden Schleifen zur Verfügung:
===== 1. Die foreach-Schleife =====
Mit der foreach-Schleife kann man durch Arrays und Objekte iterieren. Wenn das Array leer ist wird die foreach-Anweisung nicht ausgeführt. Da in diesem Falle auch kein Fehler geworfen wird ist eine zusätzliche Überprüfung des Arrays beispielsweise mit if( Count( $Digits ) > 1 ) nicht notwendig. Allerdings sollte sichergestellt sein, dass es sich wirklich um einen Parameter vom Dateityp "Array" oder "object" handelt. Andernfalls wird ein PHP-Fehler geworfen.
$digits = [0, 1, 2, 3, 4];
if( is_array( $digits ) )
{
foreach( $digits as $digit )
{
echo $digit, " ";
}
}
----
===== 2. Die for-Schleife =====
Die for-Schleife besteht aus 3 Teilen:
* Zuweisung
* Bedingung
* Schleifenanweisung
Auch diese Schleife läuft nur durch, solange die Bedingung WAHR ist.
for( $i = 0; $i < 5; $i++ )
{
echo $i, " ";
}
----
===== 3. Die while-Schleife =====
Bei der while-Schleife wird vor der Durchführung der Anweisung die Durchführbedingung geprüft. Die Schleife läuft nur durch, solange die Bedingung WAHR ist.
**Beispiel:**
$i = 0;
while( $i < 5 )
{
echo $i++, " ";
}
----
===== 4. Die do-while-Schleife =====
Da bei der while-Schleife die Durchführbedingung erst am Ende überprüft wird, läuft sie mindestens einmal durch. Auch diese Schleife läuft nur durch, solange die Bedingung WAHR ist.
$i = 0;
do
{
echo $i++, " ";
} while ( $i < 5 );
----
===== Ergebnis der oben aufgeführten 4 Schleifen =====
Das Ergebnis ist bei allen 4 Beispielen das gleiche:
0 1 2 3 4
----
===== Vorzeitiger Abbruch von Schleifen in PHP =====
Es gibt 3 Anweisungen, mit denen die Durchführung der oben genannten Schleifen vorzeitig abgebrochen werden können:
* continue: Der aktuelle Schleifenvorgang wird abgebrochen und die Schleife wird neu aufgerufen
* break: Die aktuelle Schleife wird komplett abgebrochen
* return (nur innerhalb von Funktionen) Die gesamte Funktion wird abgebrochen. Somit wird die Schleife ebenfalls nicht mehr weiter ausgeführt.