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: 3Die 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.
Aufgabe
EinfachLesen 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)
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;
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- und logische Operatoren
VergleichsoperatorenGleichheit und IdentitätLogische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache Logik2Variablen und Datentypen
ZahlenStrings und AnführungszeichenBoolesche WerteNamenskonventionenRückblick – VariableninitialisierungLeere VariablenString-VerkettungBenutzereingabenIn andere Datentypen umwandeln5Bedingte Logik
If-AnweisungIf - ElseDer ternäre OperatorNull-Koaleszenz-OperatorSwitch-AnweisungZusammenfassung – Entscheidungen treffen8Schleifen
For-SchleifeWhile-SchleifeForeach-SchleifeSchleifen mit Schlüsseln und WertenBreak-AnweisungContinue-AnweisungRückblick – Iterieren über Daten11Abschließende Herausforderungen
Herausforderung – FakultätsberechnungHerausforderung – Längstes WortHerausforderung – Vokalzähler3Grundlegende Operatoren
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorZusammengesetzte ZuweisungInkrement/DekrementOperatorrangfolgeRückblick – Einfache BerechnungenString-OperatorenÜbe selbstständig: Online-PHP-Compiler