PHP For Beispiel 5: PHP For-Schleife rückwärts zählen

In vielen Fällen ist es erforderlich, eine Schleife mit einem rückwärts zählenden Zähler laufen zu lassen. Auf diese Weise läst sich bei clientseitigen Scriptsprachen – zum Beispiel JavaScript – etwa ein Countdown realisieren. Beachten Sie hierzu auch unseren Countdown Timer mit JavaScript.

Das nächste Beispiel zeigt, wie Sie in PHP eine Schleife realisieren können, bei der die Zählervariable rückwärts zählt. Im unten stehenden PHP-Code wird als erstes ein String ausgegeben, welches den Zählerwerten bei der Ausgabe des Scripts voran stehen soll. Der darauf folgende Schleifenkopf der For-Schleife initialisiert die Zählervariable i mit dem Wert 10 und legt die Abbruchbedingung i >= 0 fest. Dies bedeutet, dass die Schleife solange ausgeführt werden soll, bis i den Wert -1 enthält.

Nach jedem Schleifendurchgang wird die Variable i um den Wert 1 verringert (dekrementiert). Durch den Aufruf i-- geschieht genau dies. Im Schleifenkörper, der hier wieder ohne eine explizite Klammerung auskommt, da pro Schleifendurchgang nur eine Anweisung ausgeführt werden muss, wird jeweils der Inhalt von i, gefolgt von einem als Trenner fungierenden Leerzeichen ausgegeben. Dies geschieht durch die Funktion echo, die zur Ausgabe von Zeichenketten genutzt werden kann.

<?php
    // String ausgeben
    echo 'i: ';
    // PHP For-Schleife rückwärts zählen
    for ($i = 10; $i >= 0; $i--)
        echo $i . ' ';
?>

i: 10 9 8 7 6 5 4 3 2 1 0

PHP Exit For Beispiel 6: PHP For & Break - For-Schleife verlassen

Ist die Abbruchbedingung einer For-Schleife zu komplex, um diese kompakt und übersichtlich genug in einem For-Schleifenkopf zu formulieren, dann besteht unter PHP die Möglichkeit, die Ausführung einer For-Schleife auf andere Weise abzubrechen. Dazu kann der Break-Befehl genutzt werden. Innerhalb einer For-Schleife notiert, sorgt dieser Befehl dafür, dass die Schleifenausführung genau an der Stelle beendet wird, an der sich das Break befindet.

Aber auch bei Endlosschleifen – wie im folgenden Beispiel verwendet – oder anderen Schleifenvarianten (while, do-while) oder der Switch-Anweisung – kann Break verwendet werden. Das Beispiel weiter unten ruft eine For-Anweisung ohne Angaben im Schleifenkopf auf. Dies bedeutet, dass weder ein Startwert für eine Zählevariable, noch eine Abbruchbedingung angegeben wird. Ohne das in der Schleife enthaltene Break würde die Schleife endlos weiter laufen – in der Praxis wird die Schleife bzw. das Script wegen einer Zeitüberschreitung je nach Einstellung von PHP nach einer bestimmten Zeitspanne automatisch abgebrochen.

Direkt zu Anfang des unten abgebildeten Scripts wird die Varaible i mit dem Wert 10 initialisiert. Innerhalb der For-Schleife wird bei jedem Durchlauf die Variable i – in der If-Abfrage, wo i ZUERST dekrementiert (Pre-Dekkrement) und dann abgefragt wird – um eins vermindert und der in i gespeicherte Wert dann gegen 0 geprüft wird. Wird diese If-Anweisung positiv bewertet, so kommt es zur Ausführung des Breaks (wenn i den Wert 0 enthält), was zu einem Abbruch der For-Schleife führt. Auch bei diesem Beispiel wird der jeweilige Wert des Zählers i durch ein Echo ausgeben.

<?php
    // Startwert für die Zählervariable i setzen
    $i = 10;
    echo 'i: ';
    // Endlosschleife
    for (;;) {
        // Wert von Zählervariable i ausgeben
        echo $i . ' ';
        // i um 1 herunterzählen und DANACH
        // die Abbruchbedingung prüfen
        if (--$i < 0)
            // i ist kleiner als 0 => Abbrechen
            // der Schleife durch Break-Anweisung
            break;
    }
?>

i: 10 9 8 7 6 5 4 3 2 1 0

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