POWRÓT NA STRONĘ SZKOŁY

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 instrukcji switch);
  • 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: