PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Forum

while-Schleife

10. Februar 2020
  1. Home
  2. »
  3. PHP Tutorial
  4. »
  5. while-Schleife

In manchen Fällen ist es notwendig, eine Anweisung so lange auszuführen, bis ein bestimmtes Ergebnis eintritt.
Dies benutzt man z.B. auch um den Inhalt von Datenbanken (z.B. MySQL) oder einfach den Inhalt von Dateien auszugeben. PHP bietet dafür die while-Schleife, die for-Schleife und die foreach-Schleife an.

Inhaltsverzeichnis

  • 1 Syntax der while-Schleife
  • 2 Schleifenabläufe beeinflussen mittels break und continue
  • 3 do-While-Schleife

Syntax der while-Schleife

Die Syntax einer while-Schleife ist wie folgt aufgebaut:

1
2
3
4
5
<?php
while(Bedingung) {
   Anweisungen
}
?>

Ein Beispiel wäre:

<?php
$i = 0;
while($i < 10) {
   echo "$i, ";
   $i++;
}
?>

Im obigen Beispiel wird zuerst eine Zählvariable definiert, in diesem Fall die Variable $i und diese wird mit dem Wert 0 initialisiert.

Die Bedingung der while-Schleife ist $i < 10 , d.h. wir überprüfen ob in der Variable ein Wert kleiner 10 steht.

Alles zwischen den geschweiften Klammern sind die Anweisungen der Schleife. Diese werden so oft wiederholt, wie die Bedingung erfüllt ist. Im obigen Beispiel wird die Variable $i ausgegeben und anschließend wird die Zählvariable um den Wert 1 erhöht. Diese Erhöhung des Wertes ist wichtig, damit die Bedingung irgendwann nicht mehr erfüllt ist. Falls Bedingung immer erfüllt ist, beispielsweise weil ihr vergessen habt die Zählvariable $i zu erhöhen, so resultiert euer PHP-Script in eine Endlosschleife und führt zu keinem Ergebnis mehr. Zum Glück bricht aber PHP nach einer gewissen Laufzeit euren Script ab.

Die Bedingung sowie die Anweisungen innerhalb der Schleife könnt ihr übrigens beliebig kompliziert gestalten. So könnt ihr beispielsweise auch mehr als nur eine Zählvariable definieren:

<?php
$zaehler1 = 0;
$zaehler2 = 0;

$min = -20;
$max = 30;

while($zaehler1 < $max AND $zaehler2 > $min)  {
   echo "Zaehler1: $zaehler1 ; Zaehler2: $zaehler2 <br>";
   $zaehler1 += 2; //Verkürzte Schreibweise für $zaehler1 = $zaehler1+2;
   $zaehler2 -= 3; //Verkürzte Schreibweise für $zaehler2 = $zaehler2-3;
}
?>

Im obigen Beispiel sind zwei Variablen definiert $zaehler1 und $zaehler2 . Die eine Variable wird um den Wert 2 erhöht, die andere um den Wert gesenkt. Die while-Schleife läuft solange wie $zaehler1 < $max und $zaehler2 > $min erfüllt sind.

Schleifenabläufe beeinflussen mittels break und continue

In PHP existieren die zwei nützlichen Befehle break und continue .

Mittels break können wir den Schleifenablauf in der Schleife beenden. Dies kann nützlich sein, falls wir beispielsweise etwas suchen. Zum Beispiel suchen wir einen bestimmten Nutzer. Dann könnten wir per while-Schleife alle Benutzer durchlaufen. Falls wir feststellen, den gesuchten Nutzer gefunden zu haben, beenden wir mittels break den Schleifendurchlauf.

Ein etwas einfacheres Beispiel zu break ist das folgende:

<?php
$max = 30;
$zaehler = 0;
$increment = 2;

while($zaehler < $max) {
   if($zaehler == 10) {
      echo "Bei der Zahl 10 hören wir auf";
      break;
   }
   echo "$zaehler , ";
   $zaehler += $increment; //Erhöht den $zaehler um den Wert $increment
}
?>

Dieser Code zählt bis maximal 30 und erhöht den $zaehler immer un den Wert $increment, hier also um den Wert 2. Falls die Variable $zaehler aber den Wert 10 annehmen sollte, wird die Schleife beendet.

continue beendet nicht die gesamte Schleife, sondern überspringt den restlichen Schleifenkörper. Folgendes Beispiel veranschaulicht dieses, diesmal mit einer for-Schleife:

<?php
$max = 30;
$zaehler = 0;
$increment = 2;

while($zaehler < $max) {
   $zaehler += $increment; //Erhöht den $zahler um den Wert $increment
   if($zaehler >= 10 AND $zaehler <= 15) {
      echo "Eine Zahl zwischen 10 und 15 <br>";
      continue;
   }

   echo "$zaehler <br>"; 
}
?>

Diese Schleife startet bei 0 und zählt bis zum Wert von $max. Dabei wird der $zaehler immer um den Wert $increment erhöht, d.h. dieser hat die Werte 0, 2, 4 usw.

Falls $zaehler einen Wert zwischen 10 und 15 hat, wird ein Text ausgegeben und per continue wird die weitere Anweisungen im Schleifenkörper übersprungen. An der Ausgabe sehen wir, dass die Zahlen 10, 12 und 14 nicht ausgegeben werden, sondern wir nur drei mal den Text dort stehen haben, dass wir eine Zahl zwischen 10 und 15 erwischt haben.

do-While-Schleife

Eine kleine Modifikation der while-Schleife ist die do-while-Schleife . Bei dieser wird die Bedingung der Schleife erst nach dem Schleifenkörper überprüft. Das bedeutet, dass der Schleifenkörper auf alle Fälle mindestens einmal durchläuft.

Die Syntax der do-while-Schleife sieht wie folgt aus:

1
2
3
4
5
<?php
do {
   Anweisungen
} while(Bedingung);
?>

Angenommen wir wollen eine Zufallszahl generieren die entweder zwischen 0 und 10 liegen soll oder zwischen 20 und 30. Mittels der Funktion rand($min, $max) können wir eine Zahl zwischen $min und $max zufällig erzeugen. Dies würde als while-Schleife wie folgt aussehen:

<?php
$zufall = rand(0, 30);
while($zufall > 10 AND $zufall < 20) {
   $zufall = rand(0, 30);
}

echo "Unsere Zufallszahl: $zufall";
?>

Mittels do-while-Schleife sparen wir uns die Initialisierung von $zufall, denn der Schleifenkörper wird ja ausgeführt bevor die Bedingung überprüft wird. Das obige Beispiel würde dann wie folgt aussehen:

<?php
do {
   $zufall = rand(0, 30);
} while($zufall > 10 AND $zufall < 20);

echo "Unsere Zufallszahl: $zufall";
?>

Zugegeben, als Programmieranfänger wirkt die do-while-Schleife etwas verwirrend. Wenn du den Sinn und Zweck noch nicht ganz verstanden hast, dann ist dies kein Problem. do-while-Schleifen werden in der Praxis eher selten eingesetzt.

Autor: Nils Reimers
Zurück: Übungsaufgaben
Weiter: for-Schleife

PHP Tutorial

  • Installation
  • Webspace
  • Erste Schritte
  • Text ausgeben per echo
  • Kommentare
  • Variablen
  • Rechnen mit Variablen
  • $_GET und $_POST
  • if-Anweisungen
  • Vergleichsoperatoren
  • Logische Operatoren
  • Übungsaufgaben
  • while-Schleife
  • for-Schleife
  • Arrays
  • Dateien lesen
  • Dateien schreiben
  • Datum und Uhrzeit
  • E-Mails mit PHP versenden
  • Suchen und Ersetzen
  • Sessions
  • Eigene Funktionen
  • Andere PHP Dateien einbinden
  • Dateiupload
  • Cookies
  • Konstanten
  • Reguläre Ausdrücke
  • Überblick: Wichtige PHP Funktionen
Mit freundlicher Unterstützung von:
  • Punkt191 Werbeagentur

Hoster – Geringste Ausfallzeit

  1. netcup Ø 0 Min.
  2. webgo Ø 0 Min.
  3. Linevast Ø 3 Min.
  4. All-Inkl.com Ø 3 Min.
  5. checkdomain Ø 4 Min.
  6. dogado Ø 6 Min.
  7. Strato Ø 8 Min.
  8. manitu Ø 10 Min.
  9. 1&1 Ø 10 Min.
  10. DomainFactory Ø 14 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2025

Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}