Struktury kontrolne > Lekcja 5
Pętla while
Ostatnia modyfikacja: 01.06.2021
Kolejna pętla to while. Podobnie jak for
, służy do wielokrotnego wykonywania operacji, ale znacznie różni się budową. Sprawdzamy w niej tylko wyrażenie i jeśli jest ono prawdziwe, wykonuje się iteracja. W przeciwnym wypadku pętla się kończy.
<?php
while (wyrażenie) {
// instrukcje do wykonania w każdej iteracji pętli
}
Zmodyfikujmy pierwszy przykład z poprzedniej lekcji, wykorzystujący pętlę for
, na użycie pętli while
.
<?php
$number = 1;
while ($number <= 10) {
echo $number . ' ';
$number++;
}
// result: 1 2 3 4 5 6 7 8 9 10
Dla pełnego zrozumienia pokażę jeszcze jeden przykład:
<?php
$number = 80;
while ($number !== 70) {
echo $number . ' ';
$number -= 2;
}
// result: 80 78 76 74 72
Teraz trochę się powtórzę, ale dla formalności wspomnę (cóż poradzę, że we wszystkich strukturach obowiązują podobne zasady).
Klamry nie są konieczne przy wykonywaniu tylko jednej instrukcji wewnątrz pętli, lecz polecam je zapisywać zawsze. Alternatywny zapis oczywiście znów istnieje. Możliwość stworzenia nieskończonej pętli również - wystarczy zapisać wyrażenie, które zawsze będzie prawdziwe. Na przykład… while (true)
. Tak, true samo w sobie jest prawdą (i zawsze tak będzie), więc pętla nigdy się nie skończy.
Przypuszczalnie wszystko to, co da się wykonać w pętli while, można zrobić tylko przy użyciu pętli for
. Mówią jednak, że „od przybytku głowa nie boli” ;) W zależności od sytuacji zastanów się, która pętla lepiej pasowałaby w określonym miejscu.
Dokumentacja: www.php.net/manual/en/control-structures.while.php
Ćwiczenia
-
Zmień ćwiczenie 1. z poprzedniej lekcji tak, aby użyć pętli while: „Dana jest liczba 50. Zmniejszaj ją o 8 i wypisuj pomniejszoną wartość, ale tylko do momentu, gdy liczba ta będzie większa od 0.”
Komentarze