PHP
Home
PHP von der Kommandozeile
PHP und HTML im Zusammenspiel
Variablen und Zuweisungen
Arrays
Vergleichsoperatoren
Verzweigungen
Schleifen
Funktionen
Datei schreiben
Datei lesen
Formulare verarbeiten
Sortieren von Dateinamen
Anzeige:
PHP Kurse für Anfänger und Fortgeschrittene
Kontakt
Haftung
Impressum
Problem Hilfe Startseite
|
Schleifen
Allgemeines
Eine Schleife im täglichen Leben: Nehmen wir an, jemand baut
ein Haus und beschäftigt eine Hilfskraft. Vor dem Grundstück
liegt eine Menge von Steinen, die an eine andere Stelle, z.B. der 1.
Stock des Rohbaus, befördert werden wollen. Sie geben nun folgende
Anweisung:
Solange Steine an der Straße liegen, nimm' einen und trage ihn in
den ersten Stock.
Hier haben wir alle Eigenschaften, die wir auch in den Schleifen von
Programmiersprachen finden. Einen Anfang, die Anweisung, was immer
wieder zu tun ist, bis das Endekriterium - keine Steine mehr - erreicht
ist.
Schleifen in PHP
In PHP gibt es drei verschiedene Arten von Schleifen, die sich in
ähnlicher Form übrigens in fast allen Programmiersprachen
finden:
while-Schleife
Eine while-Schleife hat den folgenden allgemeinen Aufbau:
while (Bedingung) {
# Anweisungen
}
|
Solange die Bedingung in dem runden Klammernpaar den Wert "true"
ergibt, werden die Anweisungen zwischen den geschweiften Klammern
ausgeführt. Nach jedem Durchlauf wird wieder die Bedingung
geprüft. Das heißt, innerhalb der Schleife muss etwas mit
den Variablen passieren, die in der Bedingung vorkommen, ansonsten
würde die Schleife ewig laufen.
Betrachten wir zum Beispiel folgendes Beispiel:
# Ausgabe der Zahlen von 0
bis 99
$i = 0;
while ($i < 100) {
echo "Wert von i: $i\n";
}
|
Die Idee von obigem Programmteil ist eigentlich, alle Zahlen von 0 bis
einschließlich 99 zu drucken, wie der Kommentar behauptet. Aber
es fehlt eine entscheidende Anweisung innterhalb der Schleif,
nämlich das Hochzählen der Schleifenvariablen $i.
# Ausgabe der Zahlen von 0
bis 99
$i = 0;
while ($i < 100) {
echo "Wert von i: $i\n";
$i = $i + 1;
}
|
Da die Anweisung $i = $i + 1
sehr häufig Verwendung findet, hat man dafür eine verinfachte
Schreibweise eingeführt, nämlich $i++.
for-Schleife
Für Schleifen der obigen Art (Zählschleifen) eignen sich
übrigens die for-Schleifen besser, denn mit Ihnen lässt
sich ein Fehler der obigen Art vermeiden. Ganz allgemein sieht die
for-Schleife wie folgt aus:
for (Anfangswert;
Bedingung; Schrittweite) {
# Anweisungen
}
|
Die Zahlen von 0 bis 99 schreibt man mit Hilfe von for wie folgt:
for ($i=0; $i < 100;
$i++) {
# Anweisungen
}
|
do...while-Schleife
Die do-while-Schleife ist eigentlich völlig analog zur
while-Schleife, allerdings wird der Body (Schleifenrumpf, d.h. die
Anweisungen innerhalb der geschweiften Klammern) mindestens einmal
ausgeführt und die Bedingung wird erst nach dieser Ausführung
geprüft.
do {
# Anweisungen
} while (Bedingung)
|
So
|