KWALIFIKACJA INF3 - STYCZEŃ 2021

PYTANIE NR 10.
Która z przedstawionych funkcji języka PHP zamieni słowo "kota" na słowo "mysz" w napisie "ala ma kota"?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
str_replace w PHP służy do podmiany fragmentu łańcucha. Przyjmuje kolejno: szukany tekst, tekst zamiennika i łańcuch wejściowy. Dlatego wywołanie
str_replace("kota", "mysz", "ala ma kota");
zamieni w napisie słowo "kota" na "mysz".

Pełne wyjaśnienie:

W PHP do prostej zamiany fragmentów tekstu w łańcuchu znaków używa się funkcji str_replace. Jej sens jest następujący: wyszukaj w podanym tekście wszystkie wystąpienia wskazanego fragmentu i zastąp je innym fragmentem.

Kluczowa jest kolejność argumentów:

  • szukane (co ma zostać znalezione),
  • zamiana (na co ma zostać zamienione),
  • tekst (w jakim łańcuchu wykonujemy operację).

Zatem zapis str_replace("kota", "mysz", "ala ma kota"); oznacza: znajdź w tekście "ala ma kota" fragment "kota" i zamień go na "mysz". Wynikiem będzie łańcuch "ala ma mysz" (zwrócony przez funkcję).

Odpowiedzi z nazwą replace są niepoprawne, ponieważ w standardowym PHP nie istnieje wbudowana funkcja o takiej nazwie (to częsty skrót myślowy przenoszony z innych technologii). Z kolei warianty z str_replace, ale z przestawionymi parametrami, są błędne semantycznie: jeśli jako pierwszy argument podasz cały tekst "ala ma kota", to funkcja będzie próbowała szukać właśnie tak długiego fragmentu w innym krótszym tekście, więc nie zrealizuje zamiany zgodnie z poleceniem.

Wskazówka egzaminacyjna: gdy widzisz funkcje do zamiany w tekście, zawsze sprawdź, czy argument "tekst wejściowy" jest na właściwej pozycji oraz czy szukany fragment i zamiennik nie zostały zamienione miejscami.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
str_replace zastępuje w tekście wskazany fragment innym fragmentem. Działa na łańcuchach znaków i zwraca nowy napis po podmianie (nie modyfikuje "w miejscu" zmiennej, jeśli nie przypiszesz wyniku). Jest to podstawowe narzędzie do prostych zamian tekstowych.
Najważniejsze są trzy argumenty: szukane, zamiana, tekst wejściowy. Czyli: najpierw podajesz co chcesz znaleźć, potem na co chcesz to zamienić, a na końcu napis, w którym ma się odbyć wyszukiwanie i zamiana.
W standardowej bibliotece PHP nie ma wbudowanej funkcji o nazwie replace. To częsta pomyłka wynikająca z przyzwyczajeń z innych języków i bibliotek. W PHP dla prostych zamian używa się m.in. str_replace albo wyrażeń regularnych przez funkcje z rodziny preg_*.
str_replace zwraca nowy łańcuch znaków po podmianie. Jeśli chcesz "zapamiętać" wynik, przypisz go do zmiennej, np. $wynik = str_replace(...). Bez przypisania otrzymasz wynik tylko jako wartość zwracaną (np. do wyświetlenia).
str_replace domyślnie podmienia wszystkie wystąpienia. Jeśli potrzebujesz podmiany tylko pierwszego, zwykle stosuje się inne podejście, np. wyszukanie pozycji i złożenie napisu, albo użycie wyrażeń regularnych z ograniczeniem. Warto rozróżniać "zamień wszystkie" vs "zamień pierwsze".
preg_replace jest lepsze, gdy potrzebujesz dopasowań wzorców (np. cyfr, spacji, wariantów zapisu), czyli wyrażeń regularnych. str_replace wybieraj do prostych, dosłownych podmian fragmentów tekstu. Na egzaminie zwracaj uwagę, czy w treści pojawiają się "wzorce" czy konkretne słowo.
Możesz porównać tekst przed i po podmianie albo skorzystać z opcjonalnego parametru zliczającego liczbę podmian. W praktyce często wystarczy warunek: jeśli wynik różni się od wejścia, to zaszła zmiana. To pomaga wykrywać sytuacje, gdy "szukane" nie występuje w tekście.
Najczęściej myli się pozycję tekstu wejściowego (bywa błędnie podawany jako pierwszy argument). Drugi błąd to zamiana miejscami "szukane" i "zamiana". Na egzaminie czytaj wywołanie od lewej: najpierw co znaleźć, potem na co zamienić, na końcu gdzie szukać.
Tak, str_replace jest czułe na wielkość liter, bo dopasowuje tekst dosłownie. Jeśli potrzebujesz zamiany bez rozróżniania wielkości liter, szukaj funkcji przeznaczonych do takiej pracy (np. wariantów "case-insensitive") albo normalizuj tekst (np. do małych liter) przed podmianą.
Ćwicz na krótkich przykładach: zamiana fragmentu, wyszukiwanie pozycji, wycinanie podciągu i łączenie napisów. Zwracaj uwagę na kolejność parametrów i typy danych. Dobrą metodą jest przepisywanie 5–10 typowych wywołań i ręczne przewidywanie wyniku działania.
info

To pytanie poprawnie rozwiązuje 63% zdających egzamin. średnie

W praktyce zawodowej kluczowe jest to, że str_replace w PHP służy do podmiany fragmentu łańcucha.

Źródła:

  • PHP Manual: str_replace — Replace all occurrences of the search string with the replacement string, https://www.php.net/manual/en/function.str-replace.php - accessed 2026-03-02
  • PHP Manual: String Functions (overview), https://www.php.net/manual/en/ref.strings.php - accessed 2026-03-02

Materiały:

  • Dokumentacja PHP: funkcje operujące na łańcuchach (String Functions)
  • Ćwiczenia z przetwarzania tekstu w PHP (zamiana, wyszukiwanie, wycinanie)
  • Przykłady użycia funkcji str_replace i pokrewnych (preg_replace, substr, strpos)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego