Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
php:loops [2015/10/30 00:00] webproducer angelegt |
php:loops [2021/08/02 08:21] (aktuell) webproducer Vorzeitiger Abbruch von Schleifen in PHP |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
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: | 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: | ||
- | * [[php:loop:while|while-Schleife]] | + | ===== 1. Die foreach-Schleife ===== |
- | * [[php:loop:do_while|do-while-Schleife]] | + | |
- | * [[php:loop:for|for-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. |
- | * [[php:loop:foreach|foreach-Schleife]] | + | |
+ | <code php> | ||
+ | $digits = [0, 1, 2, 3, 4]; | ||
+ | |||
+ | if( is_array( $digits ) ) | ||
+ | { | ||
+ | foreach( $digits as $digit ) | ||
+ | { | ||
+ | echo $digit, " "; | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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. | ||
+ | |||
+ | <code php> | ||
+ | for( $i = 0; $i < 5; $i++ ) | ||
+ | { | ||
+ | echo $i, " "; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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:** | ||
+ | |||
+ | <code php> | ||
+ | $i = 0; | ||
+ | |||
+ | while( $i < 5 ) | ||
+ | { | ||
+ | echo $i++, " "; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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. | ||
+ | |||
+ | <code php> | ||
+ | $i = 0; | ||
+ | |||
+ | do | ||
+ | { | ||
+ | echo $i++, " "; | ||
+ | } while ( $i < 5 ); | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Ergebnis der oben aufgeführten 4 Schleifen ===== | ||
+ | |||
+ | Das Ergebnis ist bei allen 4 Beispielen das gleiche: | ||
+ | |||
+ | <code>0 1 2 3 4 </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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. |