PHP For-Schleife - Mehrfaches Ausführen von Anweisungen

Eine der unter PHP verfügbaren Schleifenvarianten ist die For-Schleife. Sie sorgt über eine Zählervariable dafür, dass eine PHP-Anweisung oder eine Reihe von PHP-Anweisungen mehrfach ausgeführt werden. Dabei wird die Zählervariable im Schleifenkopf mit einem Startwert initialisiert. Durch Angabe einer Abbruchbedingung wird die Schleifenausführung gesteuert. Nach jedem Schleifendurchlauf wird die Zählervariable durch Angabe eines Ausdrucks verändert.

In den meisten Fällen wird die Zählervariable in Form einer Variablen realisiert, die einen ganzzahligen Wert enthält. Denkbar ist allerdings auch die Angabe einer Zählervariablen, die einen Gleitkommawert enthält. Der Schleifenkopf enthält Komponenten zur Initialisierung der Zählervariablen, eine Abbruchbedingung sowie einen Ausdruck, der die Zählervariable nach jedem einzelnen Durchlauf der Schleife verändert. Syntax-Form einer For-Schleife:

for (Initialisierungsausdruck; Abbruchbedingung(en); Ausdruck zur Veränderung der Zählervariablen
[{]
	Anweisung(en)
[}]
		

Der Ausdruck zur Initialisierung der For-Schleife wird genau einmal und zu Beginn (vor dem Eintritt in die Schleife) ausgeführt. Die For-Schleife gehört zu den kopfgesteuerten Schleifen. Vor jedem Schleifendurchgang (auch vor dem Ersten – also nach Ausführung des Initialisierungsausdrucks) wird die Abbruchbedingung auf Gültigkeit geprüft – dieser Ausdruck muss TRUE ergeben, wenn es zu einer Ausführung des Schleifenkörpers kommen soll. Ist die Abbruchbedingung gegeben, so wird der Schleifenkörper – die in der Schleife enthaltenen Anweisungen – ausgeführt.

Sollen mehrere Anweisungen im Schleifenkörper ausgeführt werden, so sind die geschweiften Klammern zwingend erforderlich. Ist lediglich eine einzige Anweisung als Schleifenkörper vorgesehen, so können die geschweiften Klammern optional weggelassen werden. Nachdem ein Schleifendurchgang vollendet ist wird die letzte Komponente aus dem Schleifenkopf ausgeführt. Der Ausdruck zur Veränderung der Zählervariablen ändert den in der Zählervariablen gespeicherten Wert der Angabe zufolge ab. Danach wird wieder die Abbruchbedingung geprüft und somit entschieden, ob die Schleife erneut ausgeführt werden soll. Unter For-Schleife in JavaScript finden Sie eingige Beispiele zur Verwendung des For-Statements unter JavaScript.

PHP For Beispiel 1: Schleife mit Zählervariablen (for i ... count)

Folgendes Beispiel zur PHP For-Schleife zeigt die wohl meistgenutzte Variante der unter PHP nutzbaren Schleifen. Ziel ist es, die Werte, welche die Zählervariable bei den einzelnen Schleifendurchgängen annimmt, zu summieren. Dazu wird zunächst eine Variable mit dem Namen sum definiert und zugleich mit dem Wert 0 initialisiert. Danach wird eine For-Schleife angegeben, die in ihrem Schleifenkopf als Zählervariable die Variable i definiert und zugleich mit dem Startwert 0 belegt.

Als Abbruchbedingung dient in diesem Beispiel der Ausdruck i < 10. Dies bedeutet, dass die Schleife solange ausgeführt wird, bis der in i gespeicherte Wert nicht mehr kleiner als zehn ist – die Schleife wird zehnmal ausgeführt; i nimmt dabei die Werte 0 bis 9 an. Die Schrittweite, um die i nach jedem einzelnen Schleifendurchlauf verändert wird, gibt der Ausdruck zur Veränderung der Zählervariablen (hier $i++ – inkrementieren von i um den Wert 1, was die Kurzform von $i = $i + 1 ist) am Ende des Schleifenkopfes an.

Der Schleifenkörper besteht in diesem Beispiel lediglich aus einer einzigen Anweisung, wodurch die Klammerung durch die geschweifte Klammer entfallen kann. Mit der in der Schleife notierten Anweisung wird der in der Variable sum gespeicherte Wert bei jedem Durchgang um den aktuell in i gespeicherten Wert – durch die mit der Anweisung formulierte Addition – erhöht. Nachdem die For-Schleife letzmalig ausgeführt wurde folgt eine Anweisung, mit deren Hilfe der Inhalt der Variablen sum – zusammen mit einem vorstehenden String – ausgeben.

<?php
    // Variable zur Speicherung der zu berechnenden Summe
    // initialisieren
    $sum = 0;
    // Variable i soll die Werte 0 bis 9 (da < 10) annehmen...
    for ($i = 0; $i < 10; $i++)
        // und bei jedem Durchlauf der Schleife den
        // aktuellen Wert von i zu sum hinzuaddieren.
        $sum = $sum + $i;

    // Ausgabe der errecheneten Summe
    echo 'Summe der Zahlen 0-9: ' . $sum;
?>

Summe der Zahlen 0-9: 45

PHP Array For Beispiel 2: For-Schleife über ein Array

Im folgenden Beispiel wird wiederum eine For-Schleife verwendet. Hier wird allerdings keine Summe berechnet, sondern die in einem Array enthaltenen Werte werden, jeweils durch ein Leerzeichen getrennt, ausgegeben. Dazu wird zu Anfang des PHP-Codes eine Variable mit dem Namen valarray definiert. Diese Variable wird sodann mit einem Array initialisiert. Die im Array enthaltenen Werte werden innerhalb der Klammer angegeben, wobei die einzelnen Werte jeweils durch ein Komma voneinander getrennt werden.

Danach wird mit der Funktion echo eine Zeichenkette ausgegeben. Auf diese Ausgabe folgt die For-Anweisung, welche – über die im Schleifenkörper enthaltene Ausgabeanweisung – die im Array enthaltenen Werte, jeweils gefolgt von einem Leerzeichen, einzeln ausgibt. Das For-Statement verwendet auch hier wieder die Zählervariable i und initialisiert diese mit dem Wert 0. Als Abbruchbedingung wird hier ein Ausdruck angegeben, der mit Hilfe der Funktion sizeof die Anzahl der im Array enthaltenen Elemente ermittelt – die Elemente im Array werden hier unter dem Index 0 bis 7 gespeichert.

Sizeof liefert also hier die Anzahl der im Array valarray gespeicherten Elemente (den Wert 8). Dies hat zur Folge, dass die For-Schleife genau acht mal (i läuft von 0 bis 7) ausgeführt wird. Nach der letztmaligen Ausführung der For-Anweisung wird im Beispiel noch der an dieser Stelle – nach der Schleife – in der Variablen i enthaltene Wert, sowie der von sizeof gelieferte Wert ausgegeben.

<?php
    // Array mit Werten definieren und in Variable valarray speichern
    $valarray = array (1, 2, 3, 5, 7, 11, 13, 17);
    // Zeichenkette Ausgeben
    echo 'valarray: ';
    // Über alle in valarray enthaltenen Array-Elemente
    // iterieren.
    for ($i = 0; $i < sizeof ($valarray); $i++)
        // Element an i-ter Stelle, gefolgt von einem Leerzeichen ausgeben
        echo $valarray[$i] . ' ';
    echo '<br>Anzahl der Elemente in valarray: ' . sizeof ($valarray) . ' == ' . $i;
?>

valarray: 1 2 3 5 7 11 13 17
Anzahl der Elemente in valarray: 8 == 8

Letzte Posts aus unserem Forum

Wer kennt .....

Hallo erstmal wer kennt von euch einen WEbprogrammieren,desginer der mir eine Seite erstellen kann ,Communityportal sowas in der art wie ... » mehr

von NCWebmaster am Mittwoch, 7. Oktober 2009 00:32 in PHP - bisher 1 Antwort
Letzter Beitrag: Mittwoch, 7. Oktober 2009 13:26 von kalle

Hallo auch, da gibt es sicher viele die das machen würden, allerdings deutlich weniger die es auch tatsächlich machen könnten - noch einmal weniger ... » mehr

oh Mann

Hallo erstmals..... also ich kenn mich ja nicht so aus, aber ich denke die Menschheit fliegt auf den Mond, dann müsste es auch eine Lösung für mein ... » mehr

von Dummbazz am Dienstag, 24. Februar 2009 15:11 in PHP - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 25. Februar 2009 11:48 von Dummbazz

Danke für die aufmunternde Worte... ... » mehr

counter auch ohne datenbank?

tach auch, ich habe nach einem besucherzähler gesucht, der auf meiner seite anzeigt, wieviele besucher sich dort aufhalten. allerdings habe ich ... » mehr

von marcel am Montag, 8. Dezember 2008 12:21 in PHP - bisher 1 Antwort
Letzter Beitrag: Montag, 8. Dezember 2008 13:34 von alm

Hallo, sicher kann die Counter-Klasse so umgeschrieben werden, dass sie auch ohne Datenbankanbindung funktioniert. Allerdings würde das einer neuen ... » mehr

DAten speichern und abfragen

Hallo an Alle! Hoffe, dass ich hier im richtigen Forum bin. Vielleicht kann mir jemand einen Tip geben. Ich möchte auf meiner Webpage ein Formular ... » mehr

von muenchner am Samstag, 12. Juli 2008 18:31 in PHP - bisher 1 Antwort
Letzter Beitrag: Montag, 14. Juli 2008 08:49 von alm

Hallo, ich bin mir nicht sicher, wie das jetzt gemeint ist! Geht es um die Frage: Sollen die Optionen des Forumlars (die einzelnen Checkboxen) in ... » mehr

Tutorials :: PHP & MySQL - Problem

Hi, zunächsteinmal danke für das Tutorial: ... » mehr

von migges am Montag, 2. Juni 2008 12:05 in PHP - bisher 3 Antworten
Letzter Beitrag: Dienstag, 3. Juni 2008 11:45 von alm

Das mit den Oder-Operatoren wundert mich ein wenig... Welchen Fehler hat der Interpreter an diesen Stellen ausgegeben? Ich habe bislang mit ... » mehr

¬ Tutorials



¬ Insolvenzrecht