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.
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 |