Zatrzymywanie pętli i skryptu
Istnieje możliwość przerwania wykonywania pętli, nie tylko po sprawdzaniu warunku ale także podczas wykonywania bloku instrukcji. Istnieje również możliwość przerwania wykonywania całego skryptu:
-
instrukcja
break;
powoduje natychmiastowe wyjście z pętli i rozpoczęcie wykonywania pierwszej instrukcji znajdującej się po pętli (działanie podobne jak w instrukcjiswitch
); -
instrukcja
continue;
powoduje przeskoczenie do następnego obiegu pętli; -
instrukcja
continue;
powoduje zakończenie wykonywania skryptu.
Ćwiczenie 1_13_0_1. Przerywanie działania pętli za pomocą instrukcji break
Zastosuj jeden plik. Kod PHP realizujący, to zadanie:
<?php
for ($i=1; $i<=1000; $i++)
{
echo $i;
if ($i<10) echo ', '; else break;
}
echo '<br />Instrukcja wykonywana po zakończeniu pętli';
?>
Działanie break
pokazaliśmy na przykładzie instrukcji for
. Zwróć uwagę, że pętla powinna się wykonać 1000 razy, jednak wykonanie break
przy stanie licznika 10, powoduje zakończenie pętli i wykonanie instrukcji znajdującej się po pętli.
Ćwiczenie 1_13_0_2. Przeskok do następnej iteracji (obiegu pętli) za pomocą instrukcji continue
Zastosuj jeden plik. Kod PHP realizujący, to zadanie:
<?php
for ($i=1; $i<=20; $i++)
{
if ($i%2==0) echo $i; else continue;
if ($i<20) echo ', ';
}
?>
Jeżeli licznik $i
jest parzysty (reszta z dzielenia równa zero), to jest wyświetlany. Jest również pokazywany (dla $i<20) przecinek. Dla nieparzystych liczników instrukcja wyświetlająca przecinki nie jest wykonywana, ponieważ po continue
następuje przeskok do następnego obiegu pętli.
Ćwiczenie 1_13_0_3. Przerywanie wykonywania skryptu za pomocą instrukcji exit
Kod PHP realizujący, to zadanie:
<?php
$a=$_POST['dzielna'];
$b=$_POST['dzielnik'];
if ($b==0)
{
echo 'Nie ma dzielenia przez zero!';
exit;
}
echo "$a/$b = ".$a/$b;
?>
Jeżeli dzielnik jest równy zero, to skrypt wyświela napis Nie ma dzielenia przez zero! i kończy działanie.
Jeżeli zapomniałeś jak przygotować i gdzie zapisywać pliki testowe: