Pętla while
Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 48 z 71.
Pętla for sprawdza się świetnie, gdy znasz dokładną liczbę iteracji, a pętla while jest idealna, gdy chcesz wykonywać pętlę aż warunek stanie się fałszywy.
Pętla while sprawdza warunek przed każdą iteracją. Jeśli warunek jest prawdziwy, wykonywany jest kod znajdujący się w jej wnętrzu. Dzieje się tak, dopóki warunek nie stanie się fałszywy.
<?php
$count = 1;
while ($count <= 3) {
echo "Count: $count\n";
$count++;
}
?>To wyświetla:
Count: 1
Count: 2
Count: 3Pętla rozpoczyna działanie od sprawdzenia, czy $count <= 3. Ponieważ warunek jest spełniony, kod się wykonuje i zwiększa wartość $count. Gdy $count osiągnie 4, warunek przestaje być spełniony i pętla się zatrzymuje.
Ważne: Zawsze upewnij się, że coś wewnątrz pętli ostatecznie sprawia, że warunek staje się fałszywy. W przeciwnym razie utworzysz nieskończoną pętlę, która nigdy się nie zatrzyma.
<?php
$total = 0;
$num = 1;
while ($total < 10) {
$total += $num;
$num++;
}
echo $total;
?>To dodaje liczby, aż suma osiągnie lub przekroczy 10, a następnie wyświetla końcową wartość.
Wyzwanie
ŁatwyWczytaj z wejścia jedną liczbę całkowitą reprezentującą docelową sumę.
Użyj pętli while, aby dodawać kolejne liczby, zaczynając od 1 (1, 2, 3, 4, ...), aż suma osiągnie lub przekroczy docelową wartość.
Wypisz końcową sumę w pierwszym wierszu, a ostatnią dodaną liczbę w drugim wierszu.
Przykład 1:
Jeśli wejście to 10, wyjście powinno wyglądać tak:
10
4(1 + 2 + 3 + 4 = 10, co oznacza osiągnięcie docelowej wartości)
Przykład 2:
Jeśli wejście to 15, wyjście powinno wyglądać tak:
15
5(1 + 2 + 3 + 4 + 5 = 15)
Przykład 3:
Jeśli wejście to 7, wyjście powinno wyglądać tak:
10
4(1 + 2 + 3 + 4 = 10, co oznacza przekroczenie wartości 7)
Spróbuj swoich sił
<?php
// Wczytaj docelową sumę
$target = intval(fgets(STDIN));
// Zainicjalizuj zmienne
$total = 0;
$num = 0;
// TODO: Napisz tutaj swój kod
// Użyj pętli while, aby dodawać kolejne liczby (1, 2, 3, ...)
// aż suma osiągnie lub przekroczy wartość docelową
// Wypisz końcową sumę i ostatnią dodaną liczbę
echo $total . "\n";
echo $num;
?>Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory porównania i logiczne
Operatory porównaniaRówność i tożsamośćOperatory logiczne — część 1Operatory logiczne — część 2Powtórka — prosta logika2Zmienne i typy danych
LiczbyCiągi znaków i cudzysłowyWartości logiczneKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychPuste zmienneŁączenie ciągów znakówPobieranie danych od użytkownikaKonwersja na inne typy5Instrukcje warunkowe
Instrukcja ifIf - elseOperator trójargumentowyOperator null coalescingInstrukcja switchPodsumowanie — podejmowanie decyzji3Podstawowe operatory
Operatory arytmetyczneOperator moduloOperator potęgowaniaPrzypisanie złożoneInkrementacja/dekrementacjaPriorytet operatorówPowtórka — proste obliczeniaOperatory łańcuchów znakówPoćwicz samodzielnie: Kompilator PHP online