for

For-Schleifen sind die komplexesten Schleifen in PHP. Sie funktionieren wie ihr Gegenstück in C. Die Syntax einer for-Schleife sieht so aus:

for (ausdr1; ausdr2; ausdr3) Anweisung

Der erste Parameter (ausdr1) wird beim Schleifenbeginn geprüft bzw. ausgeführt (ohne jegliche Vorbedingung).

Zu Beginn jedes Durchlaufs wird nun ausdr2 geprüft. Wenn dieser TRUE ist, fährt die Schleife weiter fort mit der Ausführung der nachfolgenden Befehle. Wenn das Ergebnis FALSE lautet, wird die Schleife beendet.

Am Ende jedes Durchlaufs wird nun auch noch ausdr3 geprüft / ausgeführt.

Jeder der Parameter kann leer sein (optional). Ist ausdr2 leer, wird die Schleife unbestimmt oft durchlaufen, da PHP ihn als TRUE wertet (wie in C). Das ist nicht so sinnlos, wie Sie vielleicht glauben, weil man häufig eine Schleife erst durch eine bedingte break -Anweisung statt durch eine unwahr werdende for-Bedingung beenden möchte.

Beachten Sie die folgenden Beispiele. Alle geben Zahlen von 1 bis 10 aus:

/* Beispiel 1 */
 
for ($i = 1; $i <= 10; $i++) {
    print $i;
}
 
/* Beispiel 2 */
 
for ($i = 1;;$i++) {
    if ($i > 10) {
        break;
    }
    print $i;
}
 
/* Beispiel 3 */
 
$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    print $i;
    $i++;
}
 
/* Beispiel 4 */
 
for ($i = 1; $i <= 10; print $i, $i++) ;

Selbstverständlich sieht das erste (oder das vierte) Beispiel am besten aus, aber Sie werden noch feststellen, dass es oftmals ganz nützlich sein kann, leere Parameter in for-Schleifen zu verwenden.

PHP unterstützt auch bei for-Schleifen die alternative "Doppelpunkt-Syntax".

for (ausdr1; ausdr2; ausdr3): Anweisung; ...; endfor;

Andere Sprachen haben für das Durchlaufen eines Hash´s oder Arrays eine foreach-Anweisung. PHP 3 hat dies nicht; im Gegensatz zu PHP 4 (vgl. foreach). In PHP 3 kann man dafür eine Kombination von while mit der list()- und each()-Funktion einsetzen. Beispiele finden Sie in der Dokumentation zu diesen Funktionen.