Menu
Coddy logo textTech

While-Schleife

Teil des Abschnitts Grundlagen der PHP-Journey von Coddy — Lektion 48 von 71.

Während die for-Schleife hervorragend funktioniert, wenn du die genaue Anzahl der Iterationen kennst, ist die while-Schleife perfekt, wenn du so lange Schleifen ausführen möchtest, bis eine Bedingung falsch wird.

Eine while-Schleife prüft ihre Bedingung vor jeder Iteration. Wenn die Bedingung wahr ist, wird der Code darin ausgeführt. Dies setzt sich fort, bis die Bedingung falsch wird.

<?php
$count = 1;

while ($count <= 3) {
    echo "Count: $count\n";
    $count++;
}
?>

Das gibt aus:

Count: 1
Count: 2
Count: 3

Die Schleife beginnt damit, zu prüfen, ob $count <= 3. Da dies wahr ist, wird der Code ausgeführt und $count inkrementiert. Wenn $count 4 erreicht, schlägt die Bedingung fehl und die Schleife stoppt.

Wichtig: Stellen Sie immer sicher, dass etwas innerhalb der Schleife die Bedingung schließlich falsch macht. Andernfalls erstellen Sie eine unendliche Schleife, die nie aufhört zu laufen.

<?php
$total = 0;
$num = 1;

while ($total < 10) {
    $total += $num;
    $num++;
}

echo $total;
?>

Das fügt Zahlen hinzu, bis die Summe 10 erreicht oder überschreitet, und gibt dann den endgültigen Wert aus.

challenge icon

Aufgabe

Einfach

Lesen Sie eine einzelne Ganzzahl aus der Eingabe, die eine Zielsummen angibt.

Verwenden Sie eine while-Schleife, um aufeinanderfolgende Zahlen ab 1 (1, 2, 3, 4, ...) zu addieren, bis die Summe die Zielsummen erreicht oder überschreitet.

Geben Sie die endgültige Summe in der ersten Zeile aus und die zuletzt addierte Zahl in der zweiten Zeile.

Beispiel 1:

Wenn die Eingabe 10 ist, sollte die Ausgabe sein:

10
4

(1 + 2 + 3 + 4 = 10, was das Ziel erreicht)

Beispiel 2:

Wenn die Eingabe 15 ist, sollte die Ausgabe sein:

15
5

(1 + 2 + 3 + 4 + 5 = 15)

Beispiel 3:

Wenn die Eingabe 7 ist, sollte die Ausgabe sein:

10
4

(1 + 2 + 3 + 4 = 10, was 7 überschreitet)

Spickzettel

Eine while-Schleife überprüft vor jeder Iteration eine Bedingung und läuft weiter, bis die Bedingung falsch wird.

Grundlegende Syntax:

<?php
$count = 1;

while ($count <= 3) {
    echo "Count: $count\n";
    $count++;
}
?>

Die Schleife überprüft vor jeder Iteration, ob $count <= 3. Wenn die Bedingung falsch wird, stoppt die Schleife.

Wichtig: Stellen Sie immer sicher, dass etwas innerhalb der Schleife die Bedingung schließlich falsch macht, um unendliche Schleifen zu vermeiden.

Beispiel mit Akkumulation:

<?php
$total = 0;
$num = 1;

while ($total < 10) {
    $total += $num;
    $num++;
}

echo $total;
?>

Probier es selbst

<?php
// Lies die Zielsummen ein
$target = intval(fgets(STDIN));

// Initialisiere Variablen
$total = 0;
$num = 0;

// TODO: Schreibe deinen Code hier
// Verwende eine while-Schleife, um aufeinanderfolgende Zahlen (1, 2, 3, ...) hinzuzufügen
// bis die Summe das Ziel erreicht oder überschreitet


// Gib die endgültige Summe und die zuletzt hinzugefügte Zahl aus
echo $total . "\n";
echo $num;
?>
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen