Mit Abfragen wie if oder switch - mit oder ohne zusätzliche Parameter und Befehle - wird der Zustand eines Wertes in einer Variable einmal untersucht. Im Falle von verschachtelten if-Abfragen oder switch-Konstruktionen erreicht man zwar, dass mehrere Abfragen kombiniert werden können, aber die Situation ist dann ständig eine andere. Will man ein- und dieselbe Abfrage öfter durchlaufen, dann braucht es eine Schleife.
Die while-Schleife zählt dabei zu den klassischen Konstruktionen in PHP. Sie wird oft mit der if-Abfrage kombiniert und läuft ein Skript solange durch, bis die angeführte Bedingung nicht mehr zutrifft. Bei der while-Schleife braucht es zwei Parameter, die in Beziehung gestellt werden, wobei ein Parameter der Zähler ist.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
$zaehler = 0;
$summe = 10;
while ($zaehler < $summe) {
echo "Zählerstand: $zaehler
";
$zaehler++;
}
?>
Das Beispiel beginnt mit der Definition von Zähler und Summe. Die eigentliche Schleife wird mit der Bedingung begonnen, dass sie solange durchzulaufen ist, solange der Zähler kleiner ist als die angeführte Summe.
Jedes Mal, wenn die Schleife durchlaufen wird, wird die Größe des Zählers genannt, sodass es zu einem Hochzähl-Effekt kommt, einem Paradebeispiel für diese Schleifentechnik. Nachdem der Zähler genannt ist, wird dieser erhöht ($zaehler++). Danach kehrt die Schleife zum Ausgangspunkt zurück und überprüft neuerlich, ob der Zähler kleiner ist als die Summe.
Wenn die Bedingung nicht mehr gegeben ist, wird die Schleife abgebrochen und verlassen und das Skript wird weiter abgearbeitet. Die while-Schleife ist eine sehr einfache Konstruktion, die oft benötigt wird. Praktische Beispiele sind solche, in denen PHP mit einer Datenbank zusammenarbeitet und eine Abfrage von Daten verschiedene Datensätze ergibt, die nacheinander ausgelesen werden sollen.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
Zuerst wird ermittelt, wie viele Datensätze es sind und dann wird pro Datensatz hochgezählt. Jeder Datensatz wird für sich gemäß der Reihenfolge verarbeitet und das Ergebnis auf der Webseite angezeigt.
Die while-Schleife wird oft genutzt, aber die if-Abfrage wird noch öfter genutzt. Bei der if-Abfrage gibt es ein entweder-oder als Grundlage und das ist bei vielen Modulen als Entscheidung für den Inhalt notwendig. Das kann die while-Schleife nicht bieten, dafür kann sie 20 Datensätze auf gleiche Art und Weise abarbeiten oder auch Zählwerke nutzen und bieten.
Beide Konstruktionen werden aber auch gerne kombiniert, zum Beispiel eine if-Abfrage, ob Daten da sind und wenn ja, werden diese mit der while-Schleife abgearbeitet. Daher ist die if-Abfrage das Kriterium und die while-Schleife der Arbeiter mit den vorhandenen Daten - beides wird oft gebraucht.
Eine sehr häufige Anwendung ist das Zusammenstellen von Tabellen oder Inhaltsbereiche. Aus der Datenbank werden 20 Adressen geholt, die in einer Tabelle als Information für die Besucher einer Webseite zusammengestellt werden. Die Startseite mit den neuesten Newsbeiträgen arbeitet genauso.
Mit den Variablen kann man in PHP Werte speichern und hat damit wird die Grundbasis gelegt, dynamische Situationen zu realisieren. Die eigentliche PHP-Programmierung erfolgt aber über Abfragen und Schleifen, um auf Situationen reagieren zu können. Die if-Abfrage ist für Entscheidungen sehr oft im Einsatz, kann mit else und elseif sogar erweitert werden.
Eine zweite Option besteht mit der switch-Schleife, durch die verschiedene Situationen auf Basis eines Arguments durchlaufen werden können. Diese kann man noch erweitern durch eine Oder-Verknüpfung und zusätzlich als zweite Variante mit einer Und-Verknüpfung.
Und dann gibt es die while-Schleife, die vor allem im Zusammenhang mit Auswertungen aus der Datenbank oft genutzt wird. Sie kann durch eine do-while-Konstruktion noch verändert werden und alternativ besteht auch die Lösung der for-Schleife.
Themenseiten
Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen
Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel