Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
php:loops [2017/03/02 10:19] webproducer |
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: | ||
| - | ===== while-Schleife ===== | + | ===== 1. Die foreach-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. | + | 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. |
| - | + | ||
| - | **Beispiel:** | + | |
| <code php> | <code php> | ||
| - | $i = 0; | + | $digits = [0, 1, 2, 3, 4]; |
| - | while( $i < 5 ) | + | if( is_array( $digits ) ) |
| { | { | ||
| - | echo $i++, " "; | + | foreach( $digits as $digit ) |
| + | { | ||
| + | echo $digit, " "; | ||
| + | } | ||
| } | } | ||
| </code> | </code> | ||
| - | ===== 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. | + | ===== 2. Die for-Schleife ===== |
| - | + | ||
| - | <code php> | + | |
| - | $i = 0; | + | |
| - | + | ||
| - | do | + | |
| - | { | + | |
| - | echo $i++, " "; | + | |
| - | } while ( $i < 5 ); | + | |
| - | + | ||
| - | </code> | + | |
| - | + | ||
| - | ===== for-Schleife ===== | + | |
| Die for-Schleife besteht aus 3 Teilen: | Die for-Schleife besteht aus 3 Teilen: | ||
| Zeile 47: | Zeile 36: | ||
| </code> | </code> | ||
| - | ===== 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. | + | ===== 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> | <code php> | ||
| - | $digits = [0, 1, 2, 3, 4]; | + | $i = 0; |
| - | if( is_array( $digits ) ) | + | while( $i < 5 ) |
| { | { | ||
| - | foreach( $digits as $digit ) | + | echo $i++, " "; |
| - | { | + | |
| - | echo $digit, " "; | + | |
| - | } | + | |
| } | } | ||
| </code> | </code> | ||
| - | ===== Ergebnis ===== | + | ---- |
| + | |||
| + | ===== 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: | Das Ergebnis ist bei allen 4 Beispielen das gleiche: | ||
| <code>0 1 2 3 4 </code> | <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. | ||