Menu
Coddy logo textTech

Instrukcja continue

Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 52 z 71.

Podczas gdy break całkowicie przerywa pętlę, czasem chcesz tylko pominąć bieżącą iterację i przejść do następnej. Właśnie to robi instrukcja continue.

Gdy PHP napotka continue, natychmiast przechodzi do następnej iteracji pętli, pomijając pozostały kod w bieżącej iteracji.

<?php
for ($i = 1; $i <= 5; $i++) {
    if ($i === 3) {
        continue;
    }
    echo $i . "\n";
}
?>

To wyświetla:

1
2
4
5

Zauważ, że brakuje 3. Gdy $i jest równe 3, instrukcja continue pomija echo i przechodzi bezpośrednio do następnej iteracji, w której $i przyjmuje wartość 4.

Częstym zastosowaniem jest odfiltrowywanie niepożądanych wartości podczas przetwarzania tablicy:

<?php
$numbers = [10, -5, 8, -3, 12];

foreach ($numbers as $num) {
    if ($num < 0) {
        continue;
    }
    echo $num . "\n";
}
?>

To wypisuje tylko liczby dodatnie: 10, 8 i 12. Wartości ujemne są pomijane, ale pętla nadal przechodzi przez wszystkie elementy.

Kluczowa różnica: break całkowicie zatrzymuje pętlę, a continue pomija tylko bieżącą iterację.

challenge icon

Wyzwanie

Łatwy

Wczytaj dwa wiersze danych wejściowych:

  1. Listę liczb całkowitych oddzielonych przecinkami (np. 3,7,12,5,8,20,15)
  2. Liczbę będącą dzielnikiem

Użyj pętli foreach, aby iterować po tablicy. Użyj continue, aby pomijać liczby podzielne przez podany dzielnik. Wypisz wszystkie pozostałe liczby, każdą w osobnym wierszu.

Przykład 1:

Jeśli dane wejściowe to 1,2,3,4,5,6,7,8,9,10 oraz 3, dane wyjściowe powinny wyglądać następująco:

1
2
4
5
7
8
10

(Liczby 3, 6 i 9 są pomijane, ponieważ są podzielne przez 3)

Przykład 2:

Jeśli dane wejściowe to 10,15,20,25,30 oraz 5, dane wyjściowe powinny wyglądać następująco:

(Wszystkie liczby są podzielne przez 5, więc nic nie zostaje wypisane)

Przykład 3:

Jeśli dane wejściowe to 7,14,21,10,5 oraz 7, dane wyjściowe powinny wyglądać następująco:

10
5

Spróbuj swoich sił

<?php
// Wczytaj dane wejściowe
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));

// Przekształć ciąg znaków rozdzielony przecinkami w tablicę liczb całkowitych
$numbers = array_map('intval', explode(',', $input));

// TODO: Napisz swój kod poniżej
// Użyj pętli foreach, aby przejść przez $numbers
// Użyj continue, aby pominąć liczby podzielne przez $divisor
// Wypisz wszystkie pozostałe liczby, każdą w osobnym wierszu

?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator PHP online