decocode decocode deco    

Schleifen #

Schleifen ähneln in ihrer Syntax den Bedingungen. Sie können im Prinzip als wiederholte Bedingungen betrachtet werden. Es gibt drei Arten von Schleifen.

Bei Schleifen ist immer darauf zu achten, dass diese auf jeden Fall irgendwann durch eine nicht erfüllte Bedingung beendet werden, da es ansonsten zu einer Endlos-Schleife kommt, die die Serverleistung stark belasten kann! Abgesehen davon verhindert eine Endlos-Schleife die Fortsetzung eines Skriptes.

Prüfung der Bedingung am Anfang: while () #

Die Grundform einer Schleife wird mit while () gebildet. Die Befehle innerhalb der geschweiften Klammer werden solange wiederholt ausgeführt, wie die Bedingung von while () den Wert TRUE hat.

Quelltext auswählen
1
2
3
4
5
6
7
8
<?php
  $i = 0;
  while ($i < 10) {
    echo $i."<br>";
    $i++;
  }
  echo "Ende der Schleife.";
?>

Prüfung der Bedingung am Ende: do … while () #

Wird die Schleife mit do … while () formuliert, wird die Schleife mindestens ein Mal durchlaufen und die Bedingung für die Fortsetzung der Schleife erst am Ende geprüft.

Der Unterschied zu der ersten Schleifenart wird deutlich, wenn man in diesen Beispielen für $i den Wert 10 einsetzt,

Quelltext auswählen
1
2
3
4
5
6
7
8
<?php
  $i = 0;
  do {
    echo $i."<br>";
    $i++;
  } while ($i < 10);
  echo "Ende der Schleife.";
?>

Schleifen mit for () #

Schleifen, bei denen die Anzahl der Durchläufe von einer veränderlichen Variablen abhängig ist, werden mit for () beschrieben. In der Klammer werden drei durch Semikolon ; getrennte Attribute notiert:

1. Ausgangswert der Variable (hier: $i=0)
2. Bedingung, unter der die Schleife fortgesetzt wird (hier: $i < 10)
3. Funktion, die auf die Variable angewendet wird (hier: $i++)

Quelltext auswählen
1
2
3
4
5
6
<?php
  for ($i = 0; $i < 10; $i++) {
    echo $i."<br>";
  }
  echo "Ende der Schleife.";
?>

Es können auch Funktionen auf mehrere Variablen angewendet werden

Quelltext auswählen
1
2
3
4
5
<?php
  for ($i = $n = 1; $i < 10; $i++, $n += 2) {
    echo "\$i = $i ; \$n = $n<br>";
  }
?>

Schleifen unterbrechen #

Mit continue können Schleifen aller drei Arten unterbrochen werden. Unterbrechung bedeutet in diesem Zusammenhang, dass die folgenden Befehle nicht mehr ausgeführt werden und der nächste Schleifendurchlauf begonnen wird.

Quelltext auswählen
1
2
3
4
5
6
7
8
9
<?php
  $i = -10;
  while ($i < 10) {
    $i++;
    if ($i/3 == floor($i/3)) continue;
    echo $i."<br>";
  }
  echo "Ende der Schleife.";
?>