PHP Schleifen

In PHP müssen bestimmte Programmbereiche häufig wiederholt werden, ohne dass man für jede Wiederholung einen separaten Code schreiben muss. Das mehrmalige Schreiben eines bestimmten Codes ist außerdem häufig gar nicht möglich, da man in der Regel nicht von vornherein die Anzahl der Wiederholungen kennt. Ein typischer Anwendungsfall ist das Auslesen und Ausgeben einer Datenbankabfrage, bei der die Datensätze Zeile für Zeile ausgegeben werden sollen. Hierbei weiß man gewöhnlich nicht vorher, wieviele Datensätze die Abfrage liefern wird. Auch wenn der Inhalt der Zeilen unterschiedlich ist, wird für das Ausgeben der Datensätze dieselbe Programmroutine verwendet. Für solche Wiederholungen kann man in PHP Schleifen verwenden.

Beispiel für eine PHP Schleife

Die verschiedenen Schleifen

Es gibt in PHP mehrere Möglichkeiten, um eine Schleife zu realisieren. Diese sind:

Daneben gibt es einige Möglichkeiten, mit denen man PHP-Schleifen steuern kann.

Funktionsweise von while-, do while- und for-Schleifen

Ein wichtiges Merkmal bei while-, do while- und for-Schleifen ist die Bedingungsprüfung in Verbindung mit Zählvariablen. Dabei wird eine Zählvariable auf einen Initialwert gesetzt. Als Variable verwendet man dabei häufig $i, man könnte jedoch auch einen anderen Namen verwenden. Im weiteren Verlauf erfolgt eine Bedingungsprüfung, bei der die Zählvariable überprüft wird, z.B. ob sie kleiner als 10 ist. Liefert die Prüfung den Rückgabewert FALSE, wird die Schleife beendet. Bei einem TRUE läuft die Schleife weiter und der Vorgang wiederholt sich. Dabei wird der Programmcode ausgeführt und die Zählvariable wird um 1 hochgezählt ($i++).

Der Unterschied zwischen der while- und for-Schleife sowie der do while-Schleife ist der, dass die Bedingungsprüfung bei der do while-Schleife nicht zu Beginn stattfindet, sondern nach der Ausführung des Programmcodes. Das hat zur Folge, dass der Programmcode bei der do while-Schleife zumindest einmal ausgeführt wird. Bei der while- und for-Schleife kann es dagegen passieren, dass die Bedingungsprüfung den Rückgabewert FALSE liefert und der Programmcode kein einziges Mal ausgeführt wird.

Funktionsweise von PHP Schleifen

foreach-Schleifen

Neben den drei zuvor beschriebenen Schleifen gibt es in PHP die foreach-Schleife. Diese hat die Besonderheit, dass keine Bedingungsprüfung erfolgt und es werden auch keine Zählvariablen verwendet. Die foreach-Schleife ist eine spezielle Schleife für die Verarbeitung von Arrays und Objekten. Für jeden Wert eines Arrays wird der Programmcode einmal ausgeführt. Sind alle Werte abgearbeitet, wird die Schleife beendet. So kann man z.B. auf eine sehr einfache Art und Weise alle Werte eines Arrays ausgeben lassen. Dabei spielt es keine Rolle, ob es sich um ein assoziatives oder mehrdimensionales Array handelt.