W języku PHP, aby usunąć spacje z początku i końca ciągu znaków, można użyć funkcji
A. strlen()
B. time()
C. trim()
D. sort()
Pytanie z egzaminu CKE, czerwiec 2020 (arkusz E.14-SG-20.06).
Funkcja trim() jest właściwym wyborem, bo w PHP służy do usuwania białych znaków z początku i końca ciągu znaków. Domyślnie usuwa między innymi zwykłe spacje, tabulatory oraz znaki nowej linii, czyli dokładnie te rzeczy, które często przypadkiem trafiają do danych z formularza albo pliku tekstowego. Przykład praktyczny: jeśli użytkownik wpisze w formularzu nazwę użytkownika jako ' Jan ', to po użyciu $login = trim($_POST['login']); dostaniesz 'Jan', bez nadmiarowych odstępów. To jest bardzo typowa dobra praktyka przy wstępnym oczyszczaniu danych wejściowych. Moim zdaniem trim() to jedna z tych małych funkcji, które naprawdę ratują sporo nerwów, bo błędy ze spacjami bywają trudne do zauważenia. Warto jednak pamiętać, że trim() nie zastępuje walidacji ani zabezpieczeń, takich jak filtrowanie danych, przygotowane zapytania SQL czy escapowanie przy wyświetlaniu. Ona tylko porządkuje tekst na brzegach, nie usuwa spacji w środku napisu.
W tym pytaniu łatwo pomylić funkcje, bo wszystkie podane nazwy są krótkie i wyglądają jak typowe funkcje PHP, ale każda z nich ma inne zastosowanie. sort() dotyczy sortowania tablic, czyli układania elementów w określonej kolejności. Nie pracuje ona na pojedynczym napisie w taki sposób, żeby usuwać z niego spacje. Typowy błąd myślowy polega tu na skojarzeniu sortowania z porządkowaniem tekstu, ale w PHP porządkowanie tablic i czyszczenie ciągów znaków to zupełnie różne operacje. time() zwraca aktualny znacznik czasu Unix, czyli liczbę sekund od 1 stycznia 1970 roku. Przydaje się przy datach, sesjach, logach czy obliczaniu czasu ważności tokenu, ale nie ma nic wspólnego z usuwaniem białych znaków z tekstu. strlen() natomiast zwraca długość ciągu znaków, czyli informuje, ile bajtów ma napis. Można jej użyć na przykład do sprawdzenia, czy hasło ma odpowiednią długość, ale sama nie modyfikuje zawartości zmiennej. W praktyce, jeżeli chcemy oczyścić dane wpisane przez użytkownika z niepotrzebnych spacji na początku i końcu, stosujemy trim(). Z mojego doświadczenia, dobrze jest zapamiętać prostą zasadę: funkcje od tekstu często mają nazwy związane z cięciem, długością albo zamianą, ale trzeba patrzeć na ich dokładne przeznaczenie, a nie tylko na ogólne skojarzenie.