KWALIFIKACJA INF3 - WRZESIEŃ 2014

PYTANIE NR 26.
Wskaż wynik wykonania skryptu napisanego w języku PHP
Ilustracja przedstawia fragment kodu PHP oraz cztery różne wyniki jego wykonania, oznaczone literami A, B, C i D.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby wskazać wynik działania skryptu PHP, trzeba prześledzić wykonanie instrukcji i obliczyć wartości wyrażeń w kolejności zgodnej z priorytetami operatorów.
Kluczowe jest też rozróżnienie łączenia napisów (kropka), porównań (== i ===) oraz sposobu wypisywania danych (echo/print/var_dump).

Pełne wyjaśnienie:

W tego typu zadaniu celem jest ustalenie dokładnego wyniku wyjścia generowanego przez skrypt PHP. Poprawne rozwiązanie polega na konsekwentnym "wykonaniu w głowie" kolejnych instrukcji, tak jak zrobi to interpreter.

Najczęstsza metodyka:

  1. Zidentyfikuj zmienne i ich wartości początkowe (typ ma znaczenie: string/int/bool/null/array).
  2. Sprawdź operatory użyte w wyrażeniach: w PHP konkatenacja to ., a nie +. Dla porównań zwróć uwagę na == (luźne) i === (ścisłe).
  3. Uwzględnij priorytet operatorów i nawiasy. To często zmienia kolejność łączenia i porównań.
  4. Ustal sposób wypisywania: echo i print wypisują tekst, natomiast var_dump/print_r pokazują też typ i strukturę, co wpływa na to, jak wygląda wynik.
  5. Zwróć uwagę na cudzysłowy: w podwójnych cudzysłowach zwykle zachodzi interpretacja sekwencji specjalnych i (częściowo) zmiennych, w pojedynczych – nie.

Dlaczego trzy odpowiedzi są błędne? Zwykle reprezentują one typowe pomyłki: (1) mylenie konkatenacji z dodawaniem, (2) pomijanie różnic typów w porównaniach, (3) nieuwzględnienie priorytetu operatorów lub szczegółów formatu wyjścia (np. spacji/znaków nowej linii). Wybierz tę odpowiedź, która dokładnie odpowiada temu, co skrypt wypisze (łącznie z kolejnością i formatem).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Prześledź wykonanie od pierwszej instrukcji: zapisz wartości zmiennych po każdej operacji, potem oblicz wyrażenia zgodnie z priorytetem operatorów i nawiasami. Na końcu porównaj z tym, co faktycznie wypisuje funkcja (np. echo vs var_dump).
echo wypisuje głównie tekst (bez informacji o typie), a var_dump pokazuje także typ i długość/strukturę danych. Dlatego dwie odpowiedzi mogą wyglądać podobnie, ale tylko jedna pasuje do konkretnej funkcji użytej w kodzie.
W PHP kropka (.) służy do konkatenacji napisów. Jeśli uczeń omyłkowo potraktuje ją jak "przecinek" lub użyje logiki dodawania, otrzyma inny wynik. W zadaniach egzaminacyjnych to częsta pułapka przy łączeniu liczb i tekstu.
Najczęstszy błąd to założenie, że == i === działają tak samo. == dopuszcza konwersje typów, a === wymaga zgodności wartości i typu. To wpływa na wynik instrukcji warunkowych i końcowe wyjście skryptu.
Tak. W wielu przypadkach podwójne cudzysłowy pozwalają na interpretację sekwencji specjalnych (np. znak nowej linii) i niektórych wstawek, a pojedyncze traktują zawartość bardziej "dosłownie". W efekcie wynik może się różnić nawet przy podobnie wyglądającym kodzie.
Sprawdź, czy w kodzie występują sekwencje typu \n, użycie PHP_EOL, lub jawne spacje w łańcuchach. W odpowiedziach egzaminacyjnych drobne różnice formatowania (spacja, koniec linii) bywają kluczowe, więc porównuj zapis bardzo dokładnie.
Priorytet decyduje, co wykona się najpierw, jeśli nie ma nawiasów. Gdy w jednym wyrażeniu są np. konkatenacje i porównania, interpreter może zbudować wynik inaczej, niż "intuicyjnie" czyta to człowiek. Dlatego warto dopisywać nawiasy pomocnicze w analizie.
Wtedy wybór zależy od detali: czy wynik zawiera typ (jak przy var_dump), czy jest to czysty tekst (jak przy echo), czy występuje rzutowanie lub inna kolejność działań. W analizie zapisuj pośrednie wartości, a nie tylko końcową intuicję.
Najlepiej pisać krótkie fragmenty kodu i przewidywać wynik przed uruchomieniem, a potem sprawdzać w interpreterze. Skup się na: konkatenacji, porównaniach, rzutowaniach, operatorach logicznych i na tym, jak funkcje wypisujące formatują dane.
Tak, o ile kod jest kompletny i nie zależy od zewnętrznych danych (np. bazy, plików, czasu). W zadaniach egzaminacyjnych zwykle chodzi o czystą analizę składni i semantyki PHP. Klucz to systematyczne śledzenie zmiennych i operatorów.
info

To pytanie poprawnie rozwiązuje 43% zdających egzamin. trudne

Źródła:

  • PHP Manual: Language Reference – Operators (Operator Precedence), https://www.php.net/manual/en/language.operators.precedence.php - accessed 2026-02-18
  • PHP Manual: echo, https://www.php.net/manual/en/function.echo.php - accessed 2026-02-18
  • PHP Manual: var_dump, https://www.php.net/manual/en/function.var-dump.php - accessed 2026-02-18

Materiały:

  • Oficjalna dokumentacja PHP: sekcje o operatorach i typach danych
  • Ćwiczenia: krótkie skrypty PHP przewidujące wynik echo/var_dump
  • Arkusze egzaminacyjne INF.3 z zadaniami dotyczącymi analizy kodu

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego