Schleife

Aus php bar
Wechseln zu: Navigation, Suche

Beschreibung

Allgemein

Schleifen sind eines der Basiselemente jeder Programmiersprache. Schleifen wiederholen, unter bestimmten Abbruchbedingungen, Codeemelemente.

Verwendung in PHP

Gebräuchliche Schleifen in PHP sind die for-Schleife und die while-Schleife. Ältere Konstruktionen, wie die list-each-Variante, wurden durch die foreach-Schleife ersetzt. In PHP finden Schleifen meist im Bezug auf Ergebnissauswertung ihre Anwendung. Ob nun Datenbankergebnis oder Ergebnisdarstellung in Form von HTML, XML oder Sonstigem, Schleifen helfen dem Programmierer die ständig wachsende Datenmenge mit wenigen Zeilen Code zu bewältigen

Schleifen in PHP

while-Schleife

Defintion

Die while-Schleife wird so lange durchgeführt. bis die logische Abbruchbedingung erfüllt ist. Die while-Schleife ermöglicht es auch Arrays oder Objekte zu iterieren.

Einsatzmöglichkeiten

Die häufigsten Einsatzgebiete der while-Schleife sind die Auswertung von Datenbankergebnissen und die Ausführung von Abläufen, die keine Indizes zur Iteration benötigen, wie zum Beispiel die Array- und Objektiteration, die solange durchgeführt wird, bis das letzte Element erreicht wird und somit das folgende Element auf Grund seiner Nichtexistenz false ist.

Syntax

1 span class="co1">// Anweisung
2 }

Die while-Schleife ist die einfachste der Schleifen, die in PHP zur Verfügung stehen. Ihr einziger Ausdruck ist eine Bedingung, die vor jedem Aufruf der Anweisung evaluiert wird. So lange die Bedingung true ist, wird die Anweisung ausgeführt. Ist die Bedingung false, so wird die Schleife abgebrochen.

Beispiel:

1 span class="st0">"Max" => "Mustermann", "Maria" => "Mller", "Hans" => "Meier"", ".$vorname."\n");
2 }

Ausgabe:

Mustermann, Max
Müller, Maria
Meier, Hans
PHP verfügt über die alternative Schreibweise für while-Schleifen (das folgende Beispiel zur Doppelpunkt-Syntax ist äquivalent zum vorhergegangenen Beispiel):

1 span class="st0">"Max" => "Mustermann", "Maria" => "Mller", "Hans" => "Meier"", ".$vorname."\n"


do...while-Schleife

Definition

Die do...while-Schleifen entspricht der while-Schleife, mit dem Unterschied, dass die do...while-Schleife die Bedingung erst nach dem Durchlauf einer Anweisung evaluiert. Somit wird die do...while-Schleife immer mindestens einmal ausgeführt.

Einsatzmöglichkeiten

Die do...while-Schleife eignet sich vor allem bei Fällen, bei denen die while-Schleife nicht geeignet ist, weil die Anweisung erst ausgeführt werden muss, bevor die Evaluierung möglich ist. Häufig werden do...while-Schleifen auch dazu verwendet um Codeblöcke einzuschliessen und sie mit break zu stoppen, wenn ein gewünschtes Ergebnis erreicht wurde.

Syntax

1 span class="co1">// Anweisung
2 

Beispiel:

1 span class="co1">// 3,1415926535898
2 "%f", $laenge);

Ausgabe:

31.00627668030002037657287405101

for-Schleife

Definition

Die for-Schleife führt die Anweisung mit Hilfe der Evaluierung seiner Ausdrücke aus.

Einsatzmöglichkeiten

Die for-Schleife wird meist dann eingesetzt, wenn die Anzahl der Ausführung zuvor bekannt sind.

Syntax

1 span class="co1">// Anweisung
2 }

Die Initialisierung wird vor dem ersten Schleifendurchlauf evaluiert. Meist werden darin Indizes, die innerhalb der Schleife genutzt werden deklariert. Die Bedingung ist ein Abbruchkriterium, das zu Beginn jedes Durchlaufs überprüft wird. Ist der Rückgabewert der Abbrechbedingung false wird der Abblauf beendet, ist er true wird die Schleife weiter ausgeführt. Wird die Abbruchbedingung leer gelassen, so setzt sie PHP implizit auf true. Nach jedem Ablauf wird der dritte Ausdruck evaluiert. Da keine der drei Ausdrücke gesetzt sein muss, ist die for-Schleife eine sehr vielfältige und zugleich die komplexeste aller Schleifen in PHP.

Beispiel:

1 span class="st0">"\n");
2 }

Ausgabe:

0
1
2
3
4
PHP verfügt über die alternative Schreibweise für for-Schleifen (das folgende Beispiel zur Doppelpunkt-Syntax ist äquivalent zum vorhergegangenen Beispiel):

1 span class="st0">"\n"

foreach-Schleife

Definition

Die foreach-Schleife ist eine seit PHP 4 eingeführte Schleife, die ausschließlich der Arbeit mit Arrays dient. Es gibt zwei Arten der foreach-Schleife, wobei eine nur bei assoziativen Arrays genutzt werden kann. Um Fehler zu vermeiden sollte überprüft werden, ob das Array auch ein Array ist, sofern das nicht zuvor sichergestellt wurde. Zur Überprüfung kann die Funktion is_array verwendet werden.

Einsatzmöglichkeiten

Die Verwendung einer foreach-Schleife dient vor allem dem Ausführen von Anweisungen, die die Elemente eines bestimmten Arrays verwenden.

Syntax

1 span class="co1">// Anweisung
2 }

und mit assoziativen Arrays:

1 span class="co1">// Anweisung
2 }

Bei beiden Arten wird nach jedem Durchlauf der interne Zeiger des Arrays um eins erhöht, sodass beim nächsten Aufruf der Inhalt des folgenden Elements bzw. des assoziativen Arrayelements im Anweisungsblock zur Verfügung steht.

Beispiel:

1 span class="st0">"Mustermann, Max", "Mller, Maria", "Meier, Hans""\n");
2 }

und mit einem assoziativen Array:

1 span class="st0">"Max" => "Mustermann", "Maria" => "Mller", "Hans" => "Meier"", ".$vorname."\n");
2 }

Ausgabe:

Mustermann, Max
Müller, Maria
Meier, Hans

Links