PHP - Do...While-Schleife: Ein Anfängerleitfaden
Willkommen, ambitionierte Codierer! Heute tauchen wir in die aufregende Welt der PHP-Schleifen ein, insbesondere die Do...While-Schleife. Als dein freundlicher Nachbarschafts-Computerlehrer bin ich hier, um dich durch dieses Konzept mit vielen Beispielen und Erklärungen zu führen. Also, hol dir dein virtuelles Notizbuch und los geht's mit dem Schleifen!
Was ist eine Do...While-Schleife?
Bevor wir uns den Beispielen zuwenden, lassen wir uns verstehen, was eine Do...While-Schleife ist. Stell dir vor, du spielst ein Spiel, bei dem du eine Würfel so lange werfen musst, bis du eine Sechs bekommst. Du wirst den Würfel mindestens einmal werfen, oder? Genau so funktioniert eine Do...While-Schleife!
Eine Do...While-Schleife führt einen Block von Code mindestens einmal aus, bevor sie überprüft, ob eine Bedingung wahr ist. Wenn die Bedingung wahr ist, führt sie den Block wiederholt aus, bis die Bedingung falsch wird.
Nun schauen wir uns die Syntax an:
do {
// Auszuführender Code
} while (Bedingung);
Beispiel 1: Grundlegende Do...While-Schleife
Lassen wir mit einem einfachen Beispiel beginnen:
<?php
$i = 1;
do {
echo "Die Zahl ist: $i <br>";
$i++;
} while ($i <= 5);
?>
Was passiert hier?
- Wir initialisieren eine Variable
$i
mit dem Wert 1. - Die Schleife beginnt mit
do
und gibt den aktuellen Wert von$i
aus. - Wir erhöhen
$i
um 1 mit$i++
. - Nach dem schließenden Klammern haben wir die
while
-Bedingung. Sie überprüft, ob$i
kleiner oder gleich 5 ist. - Wenn die Bedingung wahr ist, continues die Schleife; wenn falsch, stoppt sie.
Ausgabe:
Die Zahl ist: 1
Die Zahl ist: 2
Die Zahl ist: 3
Die Zahl ist: 4
Die Zahl ist: 5
Beispiel 2: Do...While-Schleife mit Benutzereingabe
Lassen wir die Dinge interaktiver! Wir erstellen ein einfaches Ratespiel:
<?php
$secretNumber = 7;
do {
$guess = (int)readline("Rate die Zahl (zwischen 1 und 10): ");
if ($guess < $secretNumber) {
echo "Zu niedrig! Versuche es nochmal.\n";
} elseif ($guess > $secretNumber) {
echo "Zu hoch! Versuche es nochmal.\n";
}
} while ($guess != $secretNumber);
echo "Glückwunsch! Du hast es erraten!";
?>
In diesem Beispiel:
- Wir setzen eine Geheimzahl (7 in diesem Fall).
- Die Schleife bittet den Benutzer um eine Zahl.
- Sie gibt Feedback, ob die Zahl zu niedrig oder zu hoch ist.
- Die Schleife continues, bis die richtige Zahl erraten wird.
Dies zeigt, wie Do...While-Schleifen für Eingabevalidierung und das Erstellen einfacher Spiele verwendet werden können!
Beispiel 3: Dateilesen mit Do...While-Schleife
Lassen wir uns ein praktischeres Beispiel ansehen - Zeilen aus einer Datei lesen:
<?php
$file = fopen("sample.txt", "r");
do {
$line = fgets($file);
if ($line !== false) {
echo $line . "<br>";
}
} while ($line !== false);
fclose($file);
?>
Was passiert hier?
- Wir öffnen eine Datei namens "sample.txt" im Lesemodus.
- Die Schleife liest eine Zeile aus der Datei mit
fgets()
. - Wenn die Zeile nicht falsch ist (d.h. nicht das Ende der Datei), geben wir sie aus.
- Die Schleife continues, bis wir das Ende der Datei erreichen.
- Schließlich schließen wir die Datei.
Dieses Beispiel zeigt, wie Do...While-Schleifen für Dateioperationen nützlich sein können!
Zähler in einer "do...while" Schleife verringern
Nun zählen wir rückwärts mit einer Do...While-Schleife:
<?php
$countdown = 5;
do {
echo "T-minus $countdown...<br>";
$countdown--;
} while ($countdown > 0);
echo "Start! ?";
?>
In dieser kosmischen Countdown:
- Wir starten mit
$countdown
auf 5. - Die Schleife gibt die aktuelle Countdown-Zahl aus.
- Wir verringern
$countdown
mit$countdown--
. - Die Schleife continues, solange
$countdown
größer als 0 ist. - Wenn wir 0 erreichen, starten wir!
Ausgabe:
T-minus 5...
T-minus 4...
T-minus 3...
T-minus 2...
T-minus 1...
Start! ?
Zeichenkette in umgekehrter Reihenfolge durchlaufen
Lassen wir uns kreativ und eine Zeichenkette in umgekehrter Reihenfolge mit einer Do...While-Schleife umkehren:
<?php
$str = "Hello, World!";
$length = strlen($str) - 1;
do {
echo $str[$length];
$length--;
} while ($length >= 0);
?>
Was passiert hier?
- Wir starten mit der Zeichenkette "Hello, World!".
- Wir erhalten den letzten Index der Zeichenkette (Länge - 1).
- Die Schleife gibt jedes Zeichen ab dem Ende aus.
- Wir verringern den Index in jeder Iteration.
- Die Schleife continues, bis wir das erste Zeichen erreicht haben.
Ausgabe:
!dlroW ,olleH
Geschachtelte "do...while" Schleifen
Schließlich erkunden wir geschachtelte Do...While-Schleifen mit einem spaßigen Muster:
<?php
$i = 1;
do {
$j = 1;
do {
echo "* ";
$j++;
} while ($j <= $i);
echo "<br>";
$i++;
} while ($i <= 5);
?>
Lassen wir das auseinandernehmen:
- Die äußere Schleife kontrolliert die Anzahl der Zeilen (5 in diesem Fall).
- Die innere Schleife gibt Sterne in jeder Zeile aus.
- Die Anzahl der Sterne in jeder Zeile entspricht der Zeilennummer.
- Wir verwenden
<br>
, um nach jeder Zeile eine neue Zeile zu beginnen.
Ausgabe:
*
* *
* * *
* * * *
* * * * *
Methoden-Tabelle
Hier ist eine Tabelle, die die Methoden zusammenfasst, die wir in unseren Beispielen verwendet haben:
Methode | Beschreibung |
---|---|
echo | Gibt eine oder mehrere Zeichenketten aus |
readline | Liest eine Zeile aus der Benutzereingabe |
fopen | Öffnet eine Datei oder URL |
fgets | Holt eine Zeile aus dem Dateizeiger |
fclose | Schließt einen geöffneten Dateizeiger |
strlen | Gibt die Länge einer Zeichenkette zurück |
Und das war's, Leute! Wir haben durch die Do...While-Schleife in PHP geloopt. Denke daran, Übung macht den Meister, also weiter codieren und mit diesen Schleifen experimentieren. Bereit für die nächste Herausforderung! Happy Coding! ??
Credits: Image by storyset