Hauptmenü

Untermenü

PHP - Grundlagen - Schleifen - Steuerung

1. Nudel, nudel

Schleifen laufen immer so lange durch, bis sie wegen einer bestimmten Bedingung beendet werden. So hat man zum Beispiel das letzte Element eines Arrays erreicht, oder eine Datenbankanfrage liefert keine Daten mehr. Es kann aber auch sein, dass man eine Endlosschleife produziert und der Server bis zum Sankt-Nimmerleins-Tag durchnudelt. Oder der Speicher voll ist und der Rechner sich mit einer Fehlermeldung verabschiedet.

2. Abbruchmöglichkeiten

Mal ganz abgesehen von der Endlosschleife gibt es auch noch andere Situationen, wo man eine Schleife vorab beenden möchte. Das gilt vor allem, wenn man nach einem bestimmten Wert sucht. Nehmen wir mal an, wir wollen ein Array durchlaufen und nach einem gewünschten Eintrag suchen. Wenn der gefunden wurde, soll die Schleife beendet werden.

break


<?php
  $found false;
  $bla   = array ('blubb''blubber''schwall''laber');
  for ($i 0$i count($bla); $i++)
  {
    if ($bla[$i] == 'schwall')
    {
      $found $i;
      break;
    }
    echo $bla[$i].'<br>';
  }
?>

Erläuterung

In diesem Fall wird bei einem Treffer die Schleife mit break beendet und der entsprechende Index des Arrays in einer zusätzlichen Variablen gespeichert. So hat man später Zugriff auf den gesuchten Wert.

return

Dies setzt man vor allem bei Funktionen ein. Zu den Details komme ich gleich. Wichtig zu wissen ist erst mal nur, dass return einen Wert zurückliefert. Und damit wird jedweder folgender Code nicht mehr abgearbeitet.


<?php
  ...
  for ($i 0$i count($bla); $i++)
  {
    if ($bla[$i] == 'schwall')
    {
      return $i;
    }
  }
?>

3. Überspringen

Auch das ist möglich. Wenn man bestimmte Werte für die Verarbeitung nicht benötigt, so überspringt man sie mit continue. Das folgende Beispiel zeigt das.


<?php
  $a 4;
  for ($i 0$i 30$i++)
  {
    if ($i $a)
    {
      continue;
    }
    echo $i.'<br>';
  }
?>

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt