PHP 4.3

6.3 Die for-Schleife

Die for-Schleife ist der while-Schleife sehr ähnlich, denn mit Sicht auf die Struktur der Schleife fasst Sie die Bestandteile einer while-Schleife (Initialisierung und Inkremetierung) im Schleifenkopf zusammen. Ebenso wie bei der while-Schleife, prüft die for-Schleife die Schleifenbedingung vor dem Anweisungsteil.
Der Zähler der Schleife wird im Schleifenkopf initialisiert und bei den Durchläufen der Schleife solange inkrementiert bzw. dekrementiert, bis die ebenfalls im Schleifenkopf definierte Bedingung false zurückliefert.
Die for-Schleife ist also wie die while-Schleife eine abweisende Schleife, da die Bedingung vor Ausführung des Anweisungsblocks geprüft wird.

Die Syntax der for-Schleife lautet:

for(Initalisierung; boolescher Ausdruck; Inkrement) {
  Anweisung 1
  ..
  Anweisung n
}

Jeder der drei Bestandteile des Schleifenkopfs kann auch leer bleiben. Das Weglassen des zweiten Bestandteils würde dazu führen, dass die Bedingungsprüfung immer true zurückliefert, die Schleife daher endlos ist. Das ergibt natürlich nur dann einen Sinn, wenn die Schleife aus einem anderen Grunde verlassen wird - mehr dazu später.
Ebenso ist es möglich, für den zweiten Bestandteil beispielsweise auf eine Variable zu verweisen, die den booleschen Ausdruck true oder false enthält. Unter Umständen gewährt Ihnen diese Vorgehensweise eine größere Flexibilität für die Definition der Abbruchbedingung der Schleife.

Hier ein Beispiel für eine for-Schleife:

for-Schleifen mit Inkrementierung
<?php

  if (isset ($HTTP_GET_VARS["val"]) and $HTTP_GET_VARS["val"]!=0) {  
  //wenn der Dollarkurs im vorangestellten Formular eingegeben wurde
  
    $i = 1;
    $umrechnung = $HTTP_GET_VARS["val"];

    for($i = 0; $i < 6; $i++) {
      echo $i , " Dollar = " , round ($i / $umrechnung, 2) , " Euro<br>";
    }
  }

?>

Alternativ zur üblichen Syntax kann folgende gleichbedeutende Schreibweise genutzt werden:

<?php

  ...

  for($i = 0; $i < 6; $i++) :
    echo $i , " Dollar = " , round ($i / $umrechnung, 2) , " Euro<br>";
  endfor;

?>


Browserausgabe (bei einem Dollarkurs von 1.1621 am 16.10.2003):
0 Dollar = 0 Euro
1 Dollar = 0.86 Euro
2 Dollar = 1.72 Euro
3 Dollar = 2.58 Euro
4 Dollar = 3.44 Euro
5 Dollar = 4.3 Euro

Kommentare (0)

Ihr Kommentar

Name