PHP/Instrukcja do while
Instrukcja do while
[edytuj]W przeciwieństwie od normalnego while, tutaj warunek sprawdzany jest na końcu, tak więc pętla zostanie wykonana przynajmniej raz. Nie jest to często wykorzystywana właściwość, ale warto o niej pamiętać.
Składnia pętli do while jest dość specyficzna. Przed nawiasem klamrowym pojawia się jedynie słowo kluczowe do, a while z warunkiem znajduje się na samym końcu. Przedstawimy to na przykładzie takiego oto skryptu:
<?php
do
{
echo "Podaj i: \n";
fscanf(STDIN, "%d\n", $i); // 1
}
while($i < 10);
Nie będziemy uruchamiali go w przeglądarce, ale w linii komend. Powyższy skrypt pracuje w konsoli systemowej i może pobierać stamtąd dane poprzez wiersz zaznaczony jako 1 (nie przejmuj się, że nie rozumiesz jego budowy. Poznamy ją dalej). Aby uruchomić skrypt, uruchom konsolę i ustaw się poleceniem cd na katalogu, w którym zainstalowałeś PHP. Następnie wydaj następujące polecenie:
php -f /scieżka/do/skrypt.php
Jako wartość parametru -f musisz podać pełną ścieżkę do skryptu, który chcesz uruchomić.
Zauważ, że dzięki użyciu pętli do while, nie musimy umieszczać w skrypcie dwa razy kodu do pytania się o zmienną $i
. Oto analogiczny kod z wykorzystaniem normalnego while:
<?php
echo "Podaj i: \n";
fscanf(STDIN, "%d\n", $i);
while($i < 10)
{
echo "Podaj i: \n";
fscanf(STDIN, "%d\n", $i);
}
Tutaj musimy powielić kod dwa razy, bo przecież przed sprawdzeniem warunku wypada się choć raz zapytać użytkownika, co należy sprawdzić. W poprzednim przykładzie mogliśmy do tego celu użyć kodu wewnątrz pętli, ponieważ mieliśmy zagwarantowane wykonanie jej kodu przynajmniej raz.