Za darmo na e-mailPraktyczny kurs PHP (aż 200 stron!)

Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail

PHP do while: zasada działania pętli do… while

Pętla do… while

PHP do while jest odpowiednikiem pętli php while, który działa na tej samej zasadzie. Jedyna różnica tkwi w momencie sprawdzania warunku. Podczas gdy while robił to zaraz na początku, do… while dokonuje sprawdzania po zakończeniu instrukcji. Wynika z tego fakt, ze niezależnie, czy warunek zwróci true czy false, pętla wykona sie przynajmniej jeden raz.

Są przypadki, że pozwala to uniknąć duplikowania kodu, który byłby nieunikniony w przypadku korzystania wyłącznie z pętli while. Podkreślę raz jeszcze – pętli do while używamy wtedy, gdy chcemy wykonać instrukcję przynajmniej raz – niezależnie od spełnienia warunku.

Struktura pętli do while w PHP wygląda następująco:

<?php
$zmienna = 200;
do // instrukcje do wykonania
{
  echo $zmienna;
  $zmienna++;
} 
while($zmienna < 101) // warunek kontynuacji pętli
?>

Powyższy przykład odwołuje się do problemu przedstawionego w poprzedniej lekcji. Jak widać, w tym przypadku pętla do… while nie spełnia zamierzonego zadania. Nieważne, czy $zmienna jest większa czy mniejsza od 101, zmienna zostanie wyświetlona przynajmniej raz. Z racji, że chcieliśmy wyśwetlić ciąg liczb do 100, pokazanie liczby większej niż 100 jest niepożądane.

Są jednak przypadki, kiedy wygodniej jest użyć do… while, zamiast while.

W programowaniu nie ma jednej, wyznaczonej, najlepszej drogi. Często jedno zadanie można wykonać przy pomocy różnych technik. Tak naprawdę każdą pętlę można zastąpić inną, zmieniając nieco warunki i przebudowując program. Przy każdej otrzymamy zamierzony efekt.

Wszystko sprowadza się do zrozumienia sposobu działania i inteligentnego użycia nabytej wiedzy.

Na koniec zobacz szybkie ćwiczenie. Chcemy wypisać wszystkie liczby mniejsze od $zmienna, ale większe od 0. Z tym dodatkowym warunkiem, że liczba $zmienna ma być zawsze wyświetlona na początku (niezależnie czy jest dodatnia czy ujemna). Przykładowa realizacja z pętlą do while w PHP:

<?php
$zmienna = -10;
do // instrukcje do wykonania
{
  echo $zmienna;
  $zmienna--;
} 
while($zmienna > 0) // warunek kontynuacji pętli
?>

W tym przypadku, nawet gdy zmienna wynosi -10, jej wartość zostanie wyświetlona. Gdy kod dojdzie do warunku, nie będzie on spełniony. Jednak pierwszy przebieg się wykona i na ekranie zobaczymy -10.

Check while loop and do…while loop in English on abcphp.net.

Na następnej lekcji przedstawię bardzo użyteczną pętlę for. Zapraszam serdecznie.

Spis lekcji w rozdziale drugim

Poprzednia lekcja: Pętla while Następna lekcja: Pętla for

Dodaj komentarz

Ominiesz taką okazję?Praktyczny Kurs PHP (aż 200 stron!) za darmo

Gorąco polecam, naprawdę warto skorzystać! To nic nie kosztuje. Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail.