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 2 Antworten
Letzter Beitrag: Montag, 17. Dezember 2012 16:57 von maharadja

...einen guten Onlineshop für Taufringe? Ich habe bisher Taufringe Direkt gefunden und wollte mal nachhaken, ob der Shop für Taufringe wirklich so ... » mehr

Webentwickler Konferenz in Hamburg

Hallo Zusammen, Am 20./21. Mai findet in Hamburg die erste Developer Conference 2011 statt. Wie der Name bereits verrät, handelt die Konferenz rund ... » mehr

von devcon-hamburg am Dienstag, 12. April 2011 16:50 in PHP - noch nicht beantwortet

bedingte Weiterleitung in Kontaktformularen

Hallo zusammen, ich habe ein kleines Problem: Ich brauche bei der Entwicklung eines Kontaktformulares für eine Website eine bedingte Weiterleitung ... » mehr

von scatha am Donnerstag, 10. März 2011 01:12 in PHP - noch nicht beantwortet

Gesucht: Auslesen einer externen Website

Mein vorhaben ist recht simpel aber ich bin php noob (hoffe das entschuldigt es nen bissl xD) und hab kp wie ichs anfangen soll. Und zwar möchte ich ... » mehr

von HeathenMan am Dienstag, 1. Februar 2011 22:57 in PHP - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 3. Februar 2011 14:43 von alm

Hallo, am einfachsten und kompaktesten kann man das mit einem regulären Ausdruck machen. Einfach mal nach der Funktion preg_match_all suchen und den ... » mehr

Zeilenumbruch in der Bildergalerie-Beschriftung

Hallo, die Bildergalerie mit php und js ist super, jedoch möchte ich gern zu meinen Bildern verschiedene Bemerkungen machen und zwar untereinander, ... » mehr

von Sylma am Mittwoch, 26. Januar 2011 01:13 in PHP - bisher 1 Antwort
Letzter Beitrag: Freitag, 28. Januar 2011 10:16 von alm

Hallo, ich nehme an, dass \n im Beschreibungstext nicht funktioniert aber versuchen kann man es. Ansonsten: Schon mal mit einer UTF-Sequenz ... » mehr

¬ Tutorials



¬ Insolvenzrecht