KWALIFIKACJA INF3 - STYCZEŃ 2020

PYTANIE NR 30.
W języku PHP w wyniku działania fragmentu kodu w zmiennej o nazwie Nowy_Napis znajdzie się

$Napis = "ZaWszE SpRaWdZ swoj KoD";
$Nowy_Napis = strtolower($Napis);

A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Funkcja strtolower() w PHP zwraca napis, w którym wszystkie litery zostały zamienione na małe. W kodzie wynik jest przypisany do zmiennej $Nowy_Napis, więc będzie to pełne zdanie z wejścia zapisane małymi literami, bez zmiany spacji i kolejności znaków.

Pełne wyjaśnienie:

W pokazanym fragmencie kodu PHP zmienna $Napis zawiera łańcuch znaków: "ZaWszE SpRaWdZ swoj KoD". Następnie wykonywane jest przypisanie: $Nowy_Napis = strtolower($Napis);. Oznacza to, że do $Nowy_Napis trafia wynik działania funkcji wbudowanej PHP.

Funkcja strtolower() służy do zamiany liter na małe (lowercase). Działa na całym przekazanym łańcuchu: nie wybiera pierwszego słowa ani nie skraca tekstu. Nie usuwa też spacji i nie zmienia kolejności znaków — modyfikuje wyłącznie wielkość liter.

Dlatego poprawnym wynikiem jest napis: "zawsze sprawdz swoj kod".

  • Odpowiedź "ZaWszE" jest błędna, bo pokazuje tylko fragment pierwszego słowa, a funkcja nie wycina tekstu.
  • Odpowiedź "zAwSZe sPrAwDz SWOJ kOd" jest błędna, bo zachowuje mieszany zapis wielkich i małych liter; to nie jest efekt działania funkcji zamieniającej na małe litery.
  • Odpowiedź "ZAWSZE SPRAWDZ SWOJ KOD" jest błędna, bo to wariant wielkimi literami (uppercase). Taki efekt dawałaby inna funkcja (zamiana na wielkie litery), a nie zamiana na małe.

W praktyce takie przekształcenie stosuje się m.in. do normalizacji danych (np. porównywania loginów lub wyszukiwania bez rozróżniania wielkości liter). Warto pamiętać, że przy znakach spoza ASCII (np. polskie litery w UTF-8) często używa się funkcji z rodziny mb_*, jeśli aplikacja ma poprawnie obsługiwać wielobajtowe kodowania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Funkcja strtolower() zamienia litery w podanym łańcuchu znaków na małe (lowercase) i zwraca nowy napis. Nie usuwa spacji ani nie zmienia kolejności znaków, tylko przekształca wielkość liter.
Działa na całym napisie, również po spacjach. Każdy znak będący literą zostanie zamieniony na małą literę, a spacje i inne znaki (np. kropki) pozostaną bez zmian.
Bo strtolower() nie jest funkcją do wycinania fragmentów tekstu. Nie ma w niej parametru długości ani pozycji. Do wycinania używa się innych funkcji (np. operacji na podłańcuchach), a tu następuje tylko zmiana wielkości liter.
Nie "modyfikuje w miejscu" samej zmiennej, tylko zwraca przekształcony napis. Dopiero przypisanie (np. $a = strtolower($b)) zapisuje wynik do wskazanej zmiennej.
Do zamiany na wielkie litery służy funkcja strtoupper(). Działa analogicznie do strtolower(): przyjmuje napis i zwraca jego wersję z literami zapisanymi wielkimi literami.
Najczęściej przy normalizacji danych: porównaniach loginów, adresów e-mail (częściowo), wyszukiwaniu bez rozróżniania wielkości liter, budowie identyfikatorów i filtrów antyduplikacyjnych przed zapisem do bazy.
To zależy od środowiska i kodowania. Dla znaków spoza ASCII bywa potrzebne użycie funkcji wielobajtowych z rozszerzenia mbstring (np. odpowiedników z mb_*), aby konwersja była poprawna w UTF-8.
Częste pomyłki to: wybór odpowiedzi z zachowanymi "losowymi" wielkimi literami, wybranie tylko pierwszego wyrazu, albo pomylenie z zamianą na wielkie litery. Pomaga pamiętać, że "lower" oznacza małe litery.
Nie. strtolower() dotyczy wielkości liter. Spacje, cyfry, znaki interpunkcyjne i większość znaków niebędących literami pozostaje bez zmian; zmienia się tylko zapis liter (na małe).
Najprościej wypisać wynik na ekran, np. przez echo lub użyć narzędzi diagnostycznych typu var_dump. W aplikacjach webowych przydaje się też logowanie wartości do pliku, aby zobaczyć wynik w różnych przypadkach wejścia.
info

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

Według specjalistów z branży: "Funkcja strtolower() w PHP zwraca napis, w którym wszystkie litery zostały zamienione na małe."

Źródła:

  • PHP Manual: strtolower — https://www.php.net/manual/en/function.strtolower.php (dostęp: 2026-03-01)
  • PHP Manual: Strings — https://www.php.net/manual/en/language.types.string.php (dostęp: 2026-03-01)
  • PHP Manual: String Functions — https://www.php.net/manual/en/ref.strings.php (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja PHP: funkcje do obsługi łańcuchów znaków
  • Ćwiczenia z przetwarzania napisów w PHP (lower/upper, trim, substr, replace)
  • Materiały o kodowaniach znaków i funkcjach mb_* dla UTF-8

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego