KWALIFIKACJA INF3 - CZERWIEC 2020

PYTANIE NR 31.
Co zostanie wypisane przez przedstawiony kod PHP?
Ilustracja przedstawia prostokątną ramkę, wewnątrz której znajduje się krótki fragment kodu w języku PHP.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Operator .= w PHP dopisuje tekst do istniejącej zawartości zmiennej. Po $a = "Ala"; zmienna ma wartość "Ala", a po $a .= "Ola"; staje się "AlaOla". Instrukcja echo wypisuje aktualną wartość $a, więc na wyjściu pojawi się "AlaOla".

Pełne wyjaśnienie:

W pokazanym kodzie PHP zmienna $a jest najpierw inicjalizowana napisem "Ala". Następnie użyty jest operator .=, czyli tzw. konkatenacja z przypisaniem. Oznacza to, że prawa strona (napis "Ola") zostaje dopisania do dotychczasowej zawartości $a, a wynik wraca do tej samej zmiennej.

Krok po kroku:

  • Po instrukcji $a = "Ala"; wartość $a wynosi "Ala".
  • Po instrukcji $a .= "Ola"; wartość $a wynosi "AlaOla", bo jest to skrócony zapis działania równoważnego $a = $a . "Ola";.
  • echo $a; wyświetla bieżącą wartość zmiennej, więc wypisany zostanie tekst "AlaOla".

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Ala" byłoby wynikiem tylko wtedy, gdyby nie było dopisania "Ola" (albo gdyby druga linia nie wykonała się). Tutaj jednak .= modyfikuje zmienną.
  • "Ola" sugeruje zastąpienie wartości "Ala" nową wartością. To typowe nieporozumienie: .= nie podmienia, tylko łączy napisy.
  • "błąd składni" nie pasuje, bo użyte konstrukcje są poprawne składniowo: zmienna, przypisanie, operator złożony i średniki. Kod jest krótkim, poprawnym przykładem konkatenacji.

Wskazówka egzaminacyjna: w PHP znak = oznacza przypisanie, a porównania wykonuje się operatorami == lub ===. Dla napisów łączenie realizuje się operatorem . lub jego skrótem .=.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
W PHP kropka . służy do konkatenacji, czyli łączenia dwóch napisów w jeden. Przykład: "Ala" . "Ola" daje w wyniku "AlaOla". To podstawowy mechanizm budowania tekstu w aplikacjach webowych.
Operator .= dopisuje tekst do istniejącej wartości zmiennej i zapisuje wynik w tej samej zmiennej. To skrót równoważny: $a .= "X"; oznacza to samo co $a = $a . "X";.
Bo .= to nie "zwykłe przypisanie", tylko przypisanie połączone z konkatenacją. Najpierw bierze dotychczasową wartość $a, dokleja "Ola", a dopiero potem zapisuje wynik. Zastąpienie byłoby przy $a = "Ola";.
echo wypisuje aktualną wartość zmiennej w momencie wykonania instrukcji. Jeśli wcześniej wykonano $a = "Ala"; oraz $a .= "Ola";, to echo wypisze "AlaOla", bo taka wartość znajduje się w $a.
Nie. Pojedynczy znak = w PHP jest operatorem przypisania. Do porównania używa się == (porównanie luźne) lub === (porównanie ścisłe z typem). To częsta pułapka na testach.
Najczęściej: mylenie = z ==, uznanie że .= "nadpisuje" zmienną, oraz przenoszenie na PHP nawyków z innych języków (np. używanie + do łączenia napisów). Warto ćwiczyć krótkie fragmenty kodu.
.= jest wygodne, gdy budujesz napis krok po kroku, np. w pętli lub podczas składania HTML. Zamiast pisać wielokrotnie $a = $a . "...";, używa się krótszego $a .= "...";, co poprawia czytelność.
Nie. Operator . i .= łączą napisy dokładnie tak, jak je podasz, bez automatycznych spacji. Jeśli chcesz spację, musisz ją dodać jawnie, np. $a .= " "; albo "Ala" . " " . "Ola".
Przeczytaj kod linia po linii i po każdej instrukcji zapisz (w myślach lub na brudnopisie) aktualną wartość zmiennych. Przy operatorach złożonych, np. .=, rozbij je na formę pełną: $a = $a . "tekst". To zmniejsza ryzyko pomyłki.
Tak, echo wypisuje dokładnie to, co podasz, bez automatycznego końca linii. Jeśli chcesz nową linię w HTML, użyj np. "<br>", a w konsoli/CLI dodaj "\n". W tym zadaniu nie ma żadnych dodatkowych znaków.
info

Około 72% zdających odpowiada poprawnie na to pytanie. średnio łatwe

W praktyce zawodowej kluczowe jest to, że operator .= w PHP dopisuje tekst do istniejącej zawartości zmiennej.

Źródła:

  • PHP Manual: String operators (Concatenation operator . and .=), https://www.php.net/manual/en/language.operators.string.php - accessed 2026-04-01
  • PHP Manual: Assignment operators (including .= as assignment operator), https://www.php.net/manual/en/language.operators.assignment.php - accessed 2026-04-01
  • PHP Manual: echo (Language construct), https://www.php.net/manual/en/function.echo.php - accessed 2026-04-01

Materiały:

  • Oficjalna dokumentacja PHP: operatory (w tym konkatenacja i przypisanie)
  • Oficjalna dokumentacja PHP: podstawy składni, zmienne i instrukcja echo
  • Krótkie ćwiczenia: przewidywanie wyniku działania prostych fragmentów kodu PHP z operatorami .= oraz .

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego