Schleifen
Schleifen dienen dazu, einen bestimmten Programmcode mehrmals auszuführen. PHP stellt uns hier insgesamt 4 verschiedene
Schleifen zur Verfügung: for
, while
, do
-while
und foreach
.
Bei der for
- und while
-Schleife handelt es sich um eine kopfgesteuerte Schleife. Dabei wird
die Bedingung geprüft bevor der Code in der Schleife ausgeführt wird. Die do
-while
-Schleife ist
eine fußgesteuerte Schleife. Hierbei wird die Bedingung erst geprüft nachdem der Code innerhalb der Schleife ausgeführt
wurde und somit bevor der Code u. U. ein weiteres Mal ausgeführt wird. Die Schleife foreach
wird für Arrays
verwendet.
Eine Schleife besteht immer aus einem Schleifenkopf oder Schleifenfuß und einem Schleifenrumpf. Der Schleifenrumpf
stellt den Code dar, welcher u. U. mehrmals ausgeführt wird. Der Code wird mit Hilfe von geschweiften Klammern gruppiert.
Man spricht auch hier von einem Block. Die geschweiften Klammern können, so wie bei Verzweigungen auch, weggelassen werden,
wenn im Schleifenrumpf nur eine Anweisung enthalten ist. Bei der do
-while
-Schleife ist das Weglassen
der Klammern grundsätzlich nicht möglich. Der Schleifenkopf bzw. Schleifenfuß enthält die Bedingung der Schleife, mit
welcher geprüft wird, ob der Schleifenrumpf erneut ausgeführt werden soll. Eine genaue Erklärung zu den einzelnen Schleifen
sowie einen Beispielcode sehen Sie weiter unten.
Zählschleife
Die for
-Schleife ist eine klassische Schleife und dient zumeist zur n malen Ausführung des Schleifenrumpfs.
Deshalb wird diese Schleife auch gerne als Zählschleife bezeichnet. Bei der for
-Schleife handelt es sich um eine
kopfgesteuerte Schleife. Der Schleifenkopf ist hier etwas komplexer als bei anderen Schleifen, da dieser aus drei Teilen
besteht. Die drei Teile werden durch Semikolon getrennt und befinden sich innerhalb eines runden Klammernpaars hinter dem
Schlüsselwort for
. Der erste Teil dient zur Variablendeklarierung und -Initialisierung bzw. Wertzuweisung. Der
zweite Teil stellt die eigentliche Schleifenbedingung dar. Da es sich bei der for
-Schleife um eine kopfgesteuerte
Schleife handelt, wird die Bedingung vor jeder Ausführung des Schleifenrumpfs überprüft. Der dritte Teil des Schleifenkopfs
ermöglicht das Ändern einer beliebigen Variablen oder das Ausführen eines anderen Programmcodes. Dieser wird nach jedem Durchlauf
des Schleifenrumpfs ausgeführt. Bei der klassischen Zählschleife wird hier eine Zählervariable inkrementiert.
<?php for ($i = 0; $i < 10; $i++) echo $i.'<br />'; ?>
Kopfgesteuerte Schleife
Die while
-Schleife ist eine einfache kopfgesteuerte Schleife. Die while
-Schleife kennzeichnet sich
durch das Schlüsselwort while
und durch ein rundes Klammernpaar, in welchem die Bedingung angegeben wird.
<?php $i = 0; while ($i < 10) { echo $i.'<br />'; $i++; } ?>
Wichtig: Das obige Beispiel ist äquivalent zum Beispiel zur for
-Schleife. Für „Zählvorgänge“ sollten Sie
jedoch lieber die for
-Schleife verwenden, da diese kompakter ist.
Fußgesteuerte Schleife
Die do
-while
-Schleife ist eine einfache fußgesteuerte Schleife. Um diese anzugeben, notieren wir
zuerst das Schlüsselwort do
gefolgt von einem Block. Dahinter folgt das Schlüsselwort while
und die
Bedingung in einem runden Klammernpaar. Am Ende muss noch zusätzlich ein Semikolon angegeben werden.
<?php $i = 0; do { echo $i.'<br />'; $i++; } while ($i < 10); ?>
Wichtig: Auch wenn das Beispiel zur do
-while
-Schleife die gleiche Ausgabe erzeugt, wie die
der while
-Schleife, kann die do
-while
-Schleife nicht als Ersatz zu einer
while
-Schleife angesehen werden, denn im Gegensatz zur while
-Schleife wird der Schleifenrumpf einer
do
-while
-Schleife immer ein Mal ausgeführt.
Array-Schleife
Die Array-Schleife in PHP dient dazu, durch ein Array bzw. durch dessen Elemente durchzugehen. Um eine Array-Schleife anzugeben,
notieren wir das Schlüsselwort foreach
und anschließend ein rundes Klammernpaar. Innerhalb des Klammernpaars wird
nun der Name des Arrays angegeben, das Schlüsselwort as
und ein frei definierbarer Variablenname, welcher innerhalb
der Schleife dazu genutzt werden kann, um auf den Wert des aktuellen Array-Elements zuzugreifen.
<?php $liste = array('HTML', 'CSS', 'JavaScript', 'ActionScript', 'PHP'); foreach ($liste as $listenEintrag) echo $listenEintrag.'<br />'; ?>