![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| Diese FAQ-Beitrag wurde geschrieben von: Jann Hendrik Kontrollstrukturen in PHP 1. Schleifen 2. Bedingungen Was sagt das Handbuch zu Kontrollstrukturen? Geändert von Jann Hendrik (15.07.2007 um 15:13 Uhr) Grund: links an aktuelle Struktur angepasst |
| | |
| | Nach oben #2 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| 1. for Schleifen scheinen jedem Programmieranfänger am Anfang kompliziert. Daher wollen wir uns Diese hier mal näher anschauen. Code: for (ausdruck_a; ausdruck_b; ausdruck_c)
{
Anweisung
}
Also noch mal im Ablauf: 1. ausdruck_a wird ausgeführt 2. wenn ausdruck_b gleich TRUE, also wahr beginnt die Schleife 3. ausdruck_c wird ausgeführt/geprüft Anmerkung: - Jeder Ausdruck könnte auch leer sein, aber dazu kommen wir später. - Jeder Ausdruck wird durch ein Semikolon getrennt, damit PHP die einzelnen Ausdrücke unterscheiden kann. Und nun ein einfaches Beispiel: PHP-Code: Die Variable $i wird gleich 0 gesetzt. Die for-Schleife überprüft, ob der Wert der Variable $i kleiner als 17 ist, wenn ja, dann wird die Schleife ausgeführt, wenn nicht - dann logischerweise nicht. mit jeder erfolgreich durchgelaufenen Schleife wird die Variable $i um 1 erhöht. Der Wert der Variablen wird ausgegeben. Damit die einzelnen Werte noch unterscheidbar sind, wird ein Zeilenumbruch mit ausgegeben. Profis würde es noch kürzer schreiben, aber es geht hier ersteinmal darum zu verstehen, wie die for-Schleife funktioniert. Ich habe erwähnt, dass man jeden Ausdruck auch leer lassen könnte. Das scheint erst einmal sinnlos, aber es gibt Fälle (da es ja funktioniert), da macht es Sinn. Die for-Schleife lässt sich nämlich auch mit einem Code: break; Wenn nun also in der for-Schleife eine Überprüfung stattfindet (z.B. mit der if-Kontrollstruktur), so lässt sich gezielt die Schleife beenden. Wenn nämlich angenommen der ausdruck_c leer ist, so würde PHP der Meinung sein, dass die Bedingung für die Ausführung der Schleife immer TRUE ist und die Schleife ewig ausführen. Eine Endlosschleife währe programmiert. Mit einem gezielten break könnte man dann die Schleife beenden. ausdruck_a lässt sich auch außerhalb der Schleife definieren, natürlich vorher. Und ausdruck_c, welcher zum Ende der Schleife ausgeführt wird, kann man auch in der Schleife definieren. Beispiel: PHP-Code: - wenn die Schleife nur eine Anweisung enthält: Code: for(...;...;...)
{
Anweisung // <###
}
Gleiches gilt auch für die if-Kontrollstruktur. Damit könnte man das erste Beispiel so abkürzen: PHP-Code: Geändert von Jann Hendrik (25.05.2007 um 10:12 Uhr) Grund: links an aktuelle Struktur angepasst |
| | |
| | Nach oben #3 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| 2. foreach mit foreach ist es möglich in einem Array zu arbeiten. Lies dazu auch: Mit foreach ist es möglich ein Array zu durchlaufen. Dafür erstellen wir uns zunächst ein Array, um es gleich zu zeigen, wie es funktioniert: PHP-Code: PHP-Code: Code: Wert: eins Wert: zwei Wert: drei Wert: vier Wert: und Wert: so Wert: weiter PHP-Code: Code: Schlüssel: 0; Wert: eins Schlüssel: 1; Wert: zwei Schlüssel: 2; Wert: drei Schlüssel: 3; Wert: vier Schlüssel: 4; Wert: und Schlüssel: 5; Wert: so Schlüssel: 6; Wert: weiter Dieses Konstrukt kann z.B. dann hilfreich sein, wenn man den Warenkorb eines Shops mit Arrays gestalten möchte. So kann man das Array beliebig erweitern und anschließend das kompl. array ausgeben, oder durchsuchen. Geändert von Jann Hendrik (25.05.2007 um 10:12 Uhr) Grund: links an aktuelle Struktur angepasst |
| | |
| | Nach oben #4 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| 3. while Die while-Schleifen sind die einfachste Form von Schleifen in PHP. Die Grundform einer while-Anweisung lautet: Code: while (ausdruck) Anweisung Die Schleife wird solange und so oft ausgeführt, wie der ausdruck TRUE ist. Sollte der ausdruck innerhalb der Schleife geändert werden, so wird die Schleife dennoch bis zum Ende ausgeführt. Da die while-Schleife stets vor dem Durchlaufen prüft, ob ausdruck TRUE ist, kann es also auch vorkommen, dass die Schleife gar nicht ausgeführt wird. Nun aber mal ein Beispiel: PHP-Code: in 1: wird die Variable $i definiert. in 2: die Schleife wird gestartet, sofern $i kleiner oder gleich 10 ist in 3: mit der Klammer startet die Schleife. Bei nur einer Anweisung in der Schleife können die beiden Klammern { und } wegfallen in 4: Ausgabe von $i in 5: die Variable $i wird um 1 erhöht in 6: Schleife wird beendet. Man die while-Schleife auch noch ein wenig tricky verwenden, aber dies deckt den Normalfall ab. Geändert von Ben (04.11.2005 um 03:54 Uhr) |
| | |
| | Nach oben #5 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| 4. do .. while die do...while - Schleife funktioniert ähnlich der while-Schleife mit dem wesentlichen Unterschied, dass diese Schleife mindestens einmal ausgeführt wird, da hier erst zum Ende des Durchlaufes überprüft wird, ob sie ein weiteres Mal durchlaufen soll. Hier mal ein Beispiel: PHP-Code: In diesem Beispiel wird lediglich von 1 bis 10 gezählt. Geändert von Jann Hendrik (25.05.2007 um 10:13 Uhr) Grund: links an aktuelle Struktur angepasst |
| | |
| | Nach oben #6 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| 5. if, elseif, else if mit der if-Kontrollstruktur habt ihr die Möglichkeit dynamisch zu werden! Es wird geprüft, ob der Ausdruck in der Klammer nach if wahr ist, und wenn ja, dann wird die folgende Anweisung ausgeführt. Andernfalls nicht. Beispiel: PHP-Code: Wie ihr seht, ist die Ausgabe leer - logisch! Man könnte nun folgendes erweitern: PHP-Code: else Mit dem Beispiel von eben ergibt sich daraus folgendes. Es wird geprüft, ob die Bedingung wahr ist und andernfalls wird PHP den else-Abschnitt - sofern verfügbar - ausführen. PHP-Code: Code: $a ist kleiner als $b normal wäre die Blöcke nach if und else mit den Klammern { und } einzugrenzen. Hier konnte darauf verzichtet werden, da nur eine Zeile folgte. elseif Wenn wir nun das Beispiel ändern, so wird keine der beiden Bedingungen erfüllt sein. PHP-Code: PHP-Code: Geändert von Jann Hendrik (14.12.2005 um 09:33 Uhr) |
| | |
| | Nach oben #7 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| 6. switch Mit switch besteht in PHP die Möglichkeite abhängig vom Wert einer Variable verschiedene Anweisungen zu starten. Zwar wäre dies auch mit dem elseif-Konstrukt möglich, aber mit switch ist es noch einfacher. Hier ein Beispiel: PHP-Code: Für den Fall, dass $i gleich 0 ist, so wird der erste echo-Befehl ausgeführt und die switch-Anweisung beendet (wegen des break). Andernfalls wird geprüft, ob einer der weiteren case-Bedingungen zutrifft. Für den Fall, dass die Variable $i den Wert 3 gehabt hätte, so wäre keine der echo-Befehle ausgeführt. switch kann um einen default-Wert erweitert werden, wenn keine der Fälle eintritt, so wird die default-Anweisung ausgeführt: PHP-Code: Das beenden der switch-Anweisung bei default ist logischerweise nicht mehr möglich. Nun könnte man durch das Weglassen von break-Befehlen dafür sorgen, dass folgender Code funktioniert: PHP-Code: Geändert von Jann Hendrik (25.05.2007 um 10:14 Uhr) Grund: links an aktuelle Struktur angepasst |
| | |
| | Nach oben #8 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.379
| 7. ternärer Operator Infos im PHP-Handbuch findet ihr hier: es gibt ja die Möglichkeit der Fallunterscheidung mit if-else: PHP-Code: kurz: wenn der Ausdruck in der Klammer wahr ist, dann ausdruck_1 ausgegeben, sonst ausdruck_2: PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] vCard PHP Parser | Jann Hendrik | Tutorials | 0 | 22.08.2007 10:24 |
| [PHP] Mit PHP dynamisch einen RSS-Feed aktualisieren | Jann Hendrik | Tutorials | 0 | 13.03.2007 09:52 |
| PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht | Ben | Nachrichten | 2 | 01.09.2006 16:05 |
| [PHP] FTP-Funktionen in PHP nutzen | MrNiceGuy | Tutorials | 0 | 24.05.2006 14:18 |
| [PHP] Erstellung und Bearbeitung von Bildern mittels PHP | WarrenFaith | Tutorials | 1 | 23.08.2005 15:30 |