Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Algorytmy i podstawy informatyki PHP

Która instrukcja języka PHP przerywa bieżący przebieg pętli i powoduje przejście do jej następnego przebiegu?

A. continue
B. break
C. return
D. exit
Instrukcja continue w PHP służy właśnie do przerwania aktualnego przebiegu pętli i przejścia do następnej iteracji. To ważna różnica: pętla nie kończy się całkowicie, tylko pomija resztę kodu znajdującego się w bieżącym obiegu. Moim zdaniem to jedna z tych instrukcji, które bardzo często porządkują kod, jeśli użyje się ich rozsądnie. Przykładowo, gdy przetwarzasz tablicę użytkowników i chcesz pominąć konta nieaktywne, możesz sprawdzić warunek i użyć continue;, żeby nie wykonywać dalszych operacji dla takiego rekordu. W pętlach for, while, do while oraz foreach działa to bardzo praktycznie. Dobra praktyka jest taka, żeby continue stosować wtedy, gdy jasno poprawia czytelność algorytmu, a nie jako sposób na chaotyczne skakanie po kodzie. W PHP istnieje też wariant continue 2, używany przy pętlach zagnieżdżonych, który przechodzi do następnej iteracji pętli wyższego poziomu, ale trzeba z tym uważać, bo łatwo utrudnić późniejsze utrzymanie programu.
W tym pytaniu chodzi o bardzo konkretny mechanizm sterowania przebiegiem pętli, a nie o ogólne kończenie działania programu albo funkcji. Instrukcja break często myli się z continue, bo obie pojawiają się w pętlach i obie zmieniają normalny przepływ wykonania kodu. Różnica jest jednak zasadnicza: break przerywa całą pętlę i wykonanie programu przechodzi za jej blok, więc następne iteracje nie zostaną już uruchomione. Stosuje się ją na przykład wtedy, gdy znaleziono szukany element i dalsze sprawdzanie tablicy nie ma sensu. To nie jest przejście do kolejnego przebiegu, tylko wyjście z pętli. Instrukcja exit działa jeszcze szerzej, bo kończy wykonywanie całego skryptu PHP. Przydaje się czasem po krytycznym błędzie, po przekierowaniu HTTP albo gdy dalsze generowanie odpowiedzi nie powinno nastąpić, ale w zwykłej logice pętli używanie exit byłoby raczej toporne. Return również nie oznacza przejścia do następnej iteracji. W funkcji zwraca wynik i kończy jej działanie, a w pliku dołączanym może zakończyć wykonywanie tego pliku. Typowy błąd myślowy polega na tym, że wszystkie te instrukcje kojarzą się z przerwaniem czegoś. W programowaniu webowym trzeba jednak patrzeć precyzyjnie: continue przerywa tylko bieżącą iterację, break kończy pętlę, return wychodzi z funkcji, a exit zamyka cały skrypt. Z mojego doświadczenia najlepiej zapamiętać to na przykładzie filtrowania danych: jeśli rekord jest niepoprawny, pomijasz go przez continue i jedziesz dalej z następnym rekordem.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.