Podręcznik PHP
Poprzedni | Rozdział 11. Struktury kontrolne | Następny

# `do..while`

Pętla `do..while` zachowuje się bardzo podobnie do pętli `while`, z wyjątkiem tego, że wartość wyrażenia logicznego sprawdzana jest na końcu iteracji, a nie na początku. Wynikającą z tego główną różnicą jest to, że pierwsza iteracja w pętli `do..while` na pewno zostanie wykonana (gdyż wyrażenie logiczne będzie sprawdzone dopiero na koniec iteracji). Natomiast w pętli `while`, gdzie wyrażenie logiczne jest sprawdzane na początku iteracji, może dojść do sytuacji, że pętla w ogóle nie zostanie wykonana, jeśli to wyrażenie będzie miało wartość `FALSE` od początku.

Pętla `do..while` ma tylko jeden rodzaj składni:

`$i = 0; do { print $i; } while ($i>0);`

Powyższa pętla zostanie wykonana tylko raz, gdyż po pierwszej iteracji, wartość wyrażenia logicznego wynosić będzie `FALSE` ($i nie jest większe od 0) i pętla zostanie zakończona.

Zaawansowani programiści C są zaznajomieni z innym wykorzystaniem pętli `do..while`, które służy do przerwania wykonywania bloku instrukcji w określonym momencie przez użycie `do..while`(0) i instrukcji `break`. Demonstruje to poniższy kod:

`do { if ($i < 5) { print "i jest za małe"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } print "i jest w porządku"; ...operacje na i... } while(0);`

Nie przejmuj się, jeśli nie rozumiesz tego do końca lub w ogóle. Możesz tworzyć skrypty, nawet zaawansowane skrypty bez użycia tego "mechanizmu".

Poprzedni | Spis treści | Następny
`while` | Początek rozdziału | `for`