Schleifen

while Schleife

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
$n=1;
while($n<20){
echo $n++ ," ";
}
?>

Do while Schleife

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
$n=1;
do{
echo $n, "<br>";
$n++;
}while ($n<10)
?>

break

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
$n=1;
$max=200;
while($n<=$max){
if($n>=100){
break;
}
$n++;
}
echo $n;
?>

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++;}

continue

continue bewirkt, dass alle folgenden Anweisungen gestoppt werden, die Schleife selber jedoch nicht abbricht.

300
200
<?php
$a=0;
$b=0;
while($a<300){
$a++;
if($b==200){
continue;
}
$b++;
}
echo $a, "<br>", $b;
?>

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.

For Schleife

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
for($i=1; $i<=10; $i++){
echo $i,"<br>";
}
?>

foreach für Array-Bearbeitungen

For Schleifen eignen sich gut für Arrays, da diese über einen Index angesprochen werden.

Bücher
Filme
Videos
Tonträger
<?php
$artikel[0] = "Bücher";
$artikel[1] = "Filme";
$artikel[2] = "Videos";
$artikel[3] = "Tonträger";
for($n=0; $n<=3; $n++){
echo $artikel[$n], "<br>";
}
?>

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
foreach ($artikel as $Element){
echo $Element, "<br>";
}
?>

 

for each in assoziativen Arrays

<?php
$userDaten = array(
"Nickname"=>"Isi",
"Vorname"=>"Michael",
"Nachname"=>"Albers"
);
?>
Nickname: Isi
Vorname: Michael
Nachname: Albers
<?php
foreach($userDaten as $key => $value){
echo "$key: $value <br/>";
}
?>

 

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