KWALIFIKACJA INF3 - STYCZEŃ 2023

PYTANIE NR 8.
Instrukcja break w przedstawionym kodzie PHP sprawi, że
Ilustracja przedstawia fragment kodu w języku PHP, który jest częścią pytania egzaminacyjnego z kwalifikacji zawodowej dla
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja break w PHP bez parametru przerywa tylko najbardziej wewnętrzną pętlę, w której się znajduje. Po jej wykonaniu program wychodzi z pętli wewnętrznej i kontynuuje wykonywanie pętli zewnętrznej od kolejnej wartości licznika (tu: po (2,2) dalej dla $i = 3).

Pełne wyjaśnienie:

W PHP instrukcja break służy do przerwania wykonywania pętli. Kluczowe jest to, że gdy użyjemy jej bez dodatkowego parametru, przerywa ona tylko tę pętlę, w której aktualnie się znajduje, czyli w przypadku pętli zagnieżdżonych — pętlę wewnętrzną.

Jeżeli więc warunek w kodzie powoduje wykonanie break w iteracji opisanej jako (2, 2), to oznacza, że w tym momencie kończy się dalsze zwiększanie zmiennej sterującej pętli wewnętrznej (np. $j). Program wychodzi z pętli wewnętrznej i wraca do pętli zewnętrznej, która przechodzi do kolejnej iteracji (np. zwiększa $i do 3), o ile nie ma innych instrukcji kończących cały skrypt.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Iteracja (2, 2) zostanie przerwana i nastąpi po niej iteracja (2, 3)" — to sugeruje działanie podobne do continue (pominięcie bieżącego kroku i przejście do następnego w tej samej pętli). break nie przechodzi do kolejnej wartości $j, tylko kończy pętlę wewnętrzną.
  • "Wewnętrzna pętla dokończy działanie dla $j = 3, a następnie program zostanie przerwany"break nie "dokańcza" pętli; przerywa ją natychmiast. Dodatkowo przerwanie całego programu wymagałoby np. zakończenia skryptu (inne konstrukcje niż samo break).
  • "Działanie obu pętli zostanie zakończone po iteracji (2, 2)" — to byłoby prawdziwe dopiero przy przerwaniu dwóch poziomów zagnieżdżenia (np. poprzez podanie poziomu przerwania), a nie przy zwykłym break działającym na jedną pętlę.

Wskazówka egzaminacyjna: gdy widzisz pętle zagnieżdżone, zawsze ustal, w której pętli znajduje się break. Domyślnie wpływa on tylko na ten jeden, najbliższy poziom zagnieżdżenia.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja break przerywa wykonywanie pętli, w której została wywołana. Kod "wychodzi" z tej pętli natychmiast, bez wykonywania kolejnych iteracji, i przechodzi do dalszych instrukcji po pętli (lub do pętli zewnętrznej, jeśli była zagnieżdżona).
Domyślnie break przerywa tylko jedną pętlę — tę najbardziej wewnętrzną. Po przerwaniu pętli wewnętrznej wykonanie wraca do pętli zewnętrznej, która kontynuuje od kolejnej swojej iteracji, o ile nie ma innych instrukcji kończących program.
Przejście do następnej wartości licznika w tej samej pętli to rola continue. break ma inne znaczenie: kończy pętlę w całości. Dlatego po break nie zobaczysz iteracji z kolejnym j w tej samej pętli wewnętrznej.
Nie. break kończy tylko pętlę (lub pętle) zgodnie z poziomem przerwania. Zakończenie całego programu wymaga innych mechanizmów (np. zakończenia wykonywania skryptu). Na egzaminie rozróżniaj "wyjście z pętli" od "zakończenia skryptu".
break przerywa pętlę i wychodzi z niej. continue pomija resztę instrukcji w bieżącej iteracji i przechodzi do kolejnej iteracji tej samej pętli. W pętlach zagnieżdżonych różnica jest kluczowa dla przewidywania, czy zmieni się j, czy i.
Najczęściej wtedy, gdy po znalezieniu wyniku nie ma sensu dalej przeszukiwać danych, np. w pętli wewnętrznej skanującej elementy tablicy. break pozwala skrócić działanie algorytmu i przejść do kolejnego etapu przetwarzania w pętli zewnętrznej.
Wypisz mentalnie (lub na brudno) kolejne pary (i, j) w porządku wykonywania. Gdy pojawi się break w pętli wewnętrznej, zatrzymaj wypisywanie kolejnych wartości j i przejdź do kolejnej wartości i. To prosta technika na zadania egzaminacyjne.
Tak, ale tylko jeśli w kodzie użyto mechanizmu przerwania wielu poziomów zagnieżdżenia (np. poprzez określenie poziomu). Jeśli w treści zadania nie ma takiego wskazania, przyjmuj domyślne znaczenie: przerwanie tylko pętli, w której break występuje.
Najczęściej mylą break z zakończeniem całego programu albo z continue. Drugi typ błędu to nieuwzględnienie, że po wyjściu z pętli wewnętrznej pętla zewnętrzna nadal działa. Pomaga rysowanie osi czasu iteracji i zaznaczenie miejsca przerwania.
Skup się na regule ogólnej: break bez dodatkowych parametrów przerywa pętlę, w której się znajduje. Następnie dopasuj to do opisu iteracji (np. (2,2)) i sprawdź, czy odpowiedź mówi o wyjściu z pętli wewnętrznej oraz kontynuacji pętli zewnętrznej. To zwykle jedyna spójna interpretacja.
info

Około 56% zdających odpowiada poprawnie na to pytanie. średnie

Eksperci podkreślają: "Instrukcja break w PHP bez parametru przerywa tylko najbardziej wewnętrzną pętlę, w której się znajduje."

Źródła:

  • PHP Manual: break — opis działania i poziomów zagnieżdżenia, https://www.php.net/manual/en/control-structures.break.php - dostęp 2026-02-18
  • PHP Manual: for — składnia i przebieg iteracji, https://www.php.net/manual/en/control-structures.for.php - dostęp 2026-02-18
  • PHP Manual: continue — porównanie z przerwaniem/pominięciem iteracji, https://www.php.net/manual/en/control-structures.continue.php - dostęp 2026-02-18

Materiały:

  • Dokumentacja PHP: instrukcja break (opis działania i argumentu poziomu)
  • Dokumentacja PHP: pętle for i zasady iteracji
  • Zadania treningowe z pętlami zagnieżdżonymi oraz śledzeniem wartości zmiennych i/j

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego