|

Schleifen
Die for-Schleife
Die foreach-Schleife
Die while-Schleife
Schleifen wurden im Kapitel Arrays und Hashes
bereits genutzt. Sie sind eigentlich in allen Programmiersprachen
gleich und die Syntax ist eigentlich ohne weiteres verständlich.
Die berühmteste aller Schleifen ist wohl die for-Schleife.
<?
for ($i=0;$i<6;$i++)
{
print "hallo ich bin Runde Nr. $i <br>";
}
?>
Das Ergebnis sieht dann so aus:
hallo ich bin Runde Nr.
0
hallo ich bin Runde Nr. 1
hallo ich bin Runde Nr. 2
hallo ich bin Runde Nr. 3
hallo ich bin Runde Nr. 4
hallo ich bin Runde Nr. 5
Wie unschwer zu erkennen, hat die for
Schleife hierbei folgende Syntax:
for (Initialisierung der Laufvariablen; Bedingung, die Angibt,
wie lange die Schleife laufen soll;Inkrementierungsfaktor)
{
Befehle
}
Die foreach-Schleife gibt es nicht in
jeder Programmiersprache. Ursprünglich wohl nur in Perl,
gibt es sie heute auch in C# und eben auch PHP. Von ihr wurde
im Kapitel Arrays und Hashes ausgiebig Gebrauch gemacht, weil
sie sie ja gerade dazu dient, Arrays und Hashs auszulesen.
Einen Array könnte man mit dem Skript unten auch mit
einer for-Schleife auslesen.
<?
$obst=array("Banane","Birne","Pflaumen","Aprikosen");
for ($i=0;$i<count($obst);$i++)
{
print $obst[$i]."<br>";
}
?>
Kürzer ist es mit foreach
<?
$obst=array("Banane","Birne","Pflaumen","Aprikosen");
foreach($obst as $fruchtsorte)
{
print " $fruchtsorte<br>";
}
?>
Schwieriger wird es, wenn ein Hash ausgelesen
werden soll. Dann kann man das zwar auch mit einer for-Schleife
machen
<?
$obst=array("Banane"=>"Guatemala","Birne"=>"Deutschland",
"Pflaumen"=>"Frankreich","Aprikosen"=>"Italien");
for($i=0; $i<count($obst);$i++)
{
$schluessel=key($obst);
next($obst);
print "Der Schlüssel ist ". $schluessel. "
und der Wert ist " .$obst["$schluessel"]."<br>";
}
?>
aber einfacher ist dann wohl doch die
foreach-Schleife
<?
$obst=array("Banane"=>"Guatemala","Birne"=>"Deutschland",
"Pflaumen"=>"Frankreich","Aprikosen"=>"Italien");
foreach($obst as $schluessel => $wert)
{
print "Der Schlüssel ist $schluessel und der Wert
ist $wert<br>";
}
?>
Als dritte Schleife gibt es noch die
while-Schleife. In der Regel lässt sich das, was mit
einer foreach oder for-Schleife realisiert werden kann, auch
mit einer while-Schleife realisieren. Umgekehrt gilt das nicht
unbedingt, wie wir gleich sehen werden. Eine while-Schleife
wird solange ausgeführt, wie die Bedingung, die vor jedem
Durchlauf der Schleife geprüft wird, den Wert wahr ergibt.
Den Skript unten löst man also besser nicht aus.
<?
while(true)
{
print "hallo";
}
?>
Wer sich nicht beherrschen kann, dem
sei gesagt, dass es bei diesem Skript nur noch die Möglichkeit
gibt mit Steurung / Alt /Entfernen den Browser zuzumachen.
Da die Bedingung im Beispiel oben immer auf true steht, wird
die while-Schleife nie abgebrochen. Die while-Schleife wird
abgebrochen, wenn die Bedingung false oder 0 ist.
<?
$variable=true;
while($variable)
{
print $zaehler;
$zaehler++;
if ($zaehler == 10)
{
$variable=false;
}
print "hallo <br>";
}
?>
|
 |