Schleifen braucht man, um Anweisungen zu wiederholen. In der while-Schleife
wird am Anfang eine Bedingung definiert. Solange die Bedingung zutrifft wird
eine Anweisung ständig wiederholt. Sobald die Bedingung den Wert false
liefert (also nicht zutrifft), wird die Schleife abgebrochen.
while(Bedingung){Anweisungen;}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php |
Der Unterschied zur normalen while-Schleife ist, dass die Bedingung am Ende der Schleife steht. Das hat zur Folge, dass die Schleife mindestens einmal durchlaufen wird, auch wenn die Bedingung nicht zutrifft.
1 2 3 4 5 6 7 8 9 |
<?php |
Mit dem Befehl break wird die Ausführung der Schleife abgebrochen. Das macht natürlich nur Sinn, wenn break in einer if-Struktur eingesetzt wird.
100 | <?php |
Stattdessen könnte man das Abbruchkriterium auch gleich im Kopf der Schleife
mit unterbringen, indem man beide Bedingungen mit and
verknüpft.
while($n<=$max and $n<200){$n++;}
break kann man auch in anderen Scheifen einsetzen.
continue bewirkt, dass alle folgenden Anweisungen gestoppt werden, die Schleife selber jedoch nicht abbricht.
Im folgendem Beispiel wird Zahl 4 übersprungen, da durch continue der nachfolgende echo Befehl nicht ausgeführt und die Schleife wieder in den Schleifenkopf springt.
Man muss aufpassen, wenn das $a++ nach dem continue aufgeführt würde, hätte man eine Endlosschleife, da die Bedinung im Schleifenkopf zwar erfüllt ist, aber die Variable a nicht mehr erhöht würde durch die continue Anweisung.
1235678910 |
$a = 0; while ($a < 10) { $a++; if ($a == 4) { continue; } echo $a; } |
Erreicht $b den Wert 200 wird die folgenden Anweisung $b++ nicht mehr ausgeführt.
Da die Schleife selber durch continue nicht abbricht, wird jedoch $a++ welches
vor dem continue Befehl steht weiter ausgeführt.
300 200 |
<?php |
continue lässt sich auch in anderen Schleifen einsetzen.
Die For Schleife zählt selbständig eine Variable rauf oder runter. Das
heißt die Bedinung sowie die Variable wird im Schleifenkopf definiert. Sobald
ein definierter Wert erreicht wird, bricht die Schleife ab.
for (Startwert; Bedingung; Schrittweite){Anweisungen}
Der Startwert z.B.$ i=1 besteht aus einer initiierten Zählvariablen
oder Laufvariablen. Das heißt die Schleife beginnt mit diesem Wert. Die
Schrittweite bestimmt in welchen Schritten, die Variable bei jedem Durchlauf hochgezählt
wird z.B.$i++oder
$i=$i+3 Die Bedinung bestimmt den Abbruch der Schleife z.B $i<20
bedeutet, wenn i den Wert 20 erreicht, wird die Schleife abgebrochen.
1 2 3 4 5 6 7 8 9 10 |
<?php |
Man kann einer For-Schleife auch 2 Variablen für das Zählmuster zuweisen. Diese werden mit Komma getrennt und einem Startwert am Anfang der runden Klammer aufgeführt. Es folgt die Bedingung und dann dass Zählmuster. Beides wird wie gehabt mit Semikolon getrennt. Vor der schließenden Klammer werden wieder beide Variablen mit Komma getrennt aufgeführt und jeweils erhöht oder verringert.
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 8 * 7 = 56 9 * 7 = 63 10 * 7 = 70 |
<?php |
Diese Beispiel ließe sich auch mit einer Variablen umsetzen, indem man in den geschweiften Klammern die Variable $a mit 7 multipliziert.
echo $a . " * 7 = " .($a*7) . "<br>";
For Schleifen eignen sich gut für Arrays, da diese über einen Index angesprochen werden.
Bücher Filme Videos Tonträger |
<?php |
Im vorigen Beispiel ist es notwendig die Anzahl der Elemente zu kennen, um die Bedingung für die Anzahl der Schleifendurchläufe zu definieren $n<=3. In der Praxis kommt es häufig vor, dass diese Anzahl unbekannt ist. Für diesen Zweck gibt es die for each Schleife. Im Kopf der Schleife wird das Array angegeben und mit der Klausel as wird eine Variable deklariert. In der Schleife selbst wird diese Variable dazu verwendet, auf das aktuelle Element des Arrays zuzugreifen.
Bücher Filme Videos Tonträger |
<?php |
<?php |
|
Nickname: Isi Vorname: Michael Nachname: Albers |
<?php |
Auch in for oder foreach Schleifen lassen sich die Anweisungen break und continue
einsetzen.
Webdesign / PHP / mySQL / Dreamweaver MX Tipps
Copyright © Michael Albers
www.pastorpixel.de