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. | ||