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
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
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 beantwortetHallo 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 beantwortetMein 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 AntwortHallo,
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
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 AntwortHallo,
ich nehme an, dass \n im Beschreibungstext nicht funktioniert aber versuchen kann man es. Ansonsten: Schon mal mit einer UTF-Sequenz ... » mehr
Hallo alle miteinander, ich hoffe, dass mit hier jemand helfen kann. Ich habe mir hier von der Seite die Bildergalerie mit JS und PHP ... » mehr
von Saga am Dienstag, 28. Dezember 2010 09:57 in PHP - bisher 6 AntwortenHallo Alex,
die Warnung ist zwar jetzt durch das isset weg, aber die Daten werden immer noch nicht übergeben. (Nachdem ich durch das isset die ... » mehr
¬ Menu
¬ Gratis Download
¬ Tutorials
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp

Einstieg in PHP 5.1 & MySQL 5, m. CD-ROM
Weitere PHP Bücher finden Sie unter PHP Literatur