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

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:40