Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Algorytmy i podstawy informatyki PHP

$tab = array("jelenie", "sarny", "dziki"); echo implode("-", $tab); Wskaż wynik wykonania przedstawionego kodu PHP.

$tab = array("jelenie", "sarny", "dziki");
echo implode("-", $tab);
Wskaż wynik wykonania przedstawionego kodu PHP.
A. jeleniesarnydziki
B. -jelenie-sarny-dziki-
C. jelenie sarny dziki
D. jelenie-sarny-dziki
Wynik działania kodu to jelenie-sarny-dziki, ponieważ funkcja implode() w PHP łączy elementy tablicy w jeden tekst, wstawiając podany separator pomiędzy kolejnymi elementami. W tym przykładzie tablica $tab zawiera trzy napisy: jelenie, sarny oraz dziki. Separator podany jako pierwszy argument funkcji to znak myślnika, czyli "-". Dlatego PHP tworzy ciąg znaków: element, separator, element, separator, element. Ważne jest to, że separator nie jest dopisywany ani na początku, ani na końcu wyniku. Z mojego doświadczenia to jest jedna z tych funkcji, które naprawdę często pojawiają się w praktyce, np. przy generowaniu list tagów, tworzeniu fragmentów adresów URL, zapisywaniu danych do prostego formatu tekstowego albo przygotowywaniu komunikatu dla użytkownika. Dobra praktyka w PHP jest taka, żeby używać gotowych funkcji standardowych, takich jak implode(), zamiast ręcznie sklejać napisy w pętli, jeśli nie trzeba robić nic bardziej złożonego. Kod jest wtedy czytelniejszy, krótszy i zwykle mniej podatny na drobne błędy, na przykład przypadkowy separator na końcu tekstu.
W tym kodzie kluczowe jest zrozumienie działania funkcji implode(), a nie samo istnienie tablicy. Tablica $tab przechowuje osobne wartości tekstowe, ale echo nie wypisuje jej bezpośrednio. Najpierw wykonywane jest implode("-", $tab), czyli sklejenie elementów tablicy z użyciem separatora w postaci myślnika. PHP nie zamienia tego automatycznie na tekst ze spacjami, więc wynik z odstępami między wyrazami nie pasuje do działania tej funkcji. Spacje pojawiłyby się dopiero wtedy, gdyby separatorem był znak spacji, na przykład implode(" ", $tab). Nie ma też powodu, żeby na początku i na końcu wyniku pojawił się dodatkowy myślnik. To dość typowa pomyłka: ktoś myśli, że separator jest dodawany przed każdym elementem i po każdym elemencie, ale w praktyce separator trafia tylko pomiędzy elementy. Dzięki temu wynik jest czysty i nie trzeba potem usuwać ostatniego znaku, co w starych rozwiązaniach z ręcznym sklejaniem bywało częstym problemem. Niepoprawne jest również założenie, że elementy zostaną sklejone bez żadnego znaku między nimi. Tak stałoby się przy pustym separatorze, czyli implode("", $tab), ale tutaj separator jest jawnie ustawiony na "-". Moim zdaniem warto zapamiętać tę zasadę bardzo praktycznie: implode() bierze tablicę i robi z niej jeden string, a separator wkłada tylko między sąsiadujące wartości. To przydaje się w PHP praktycznie cały czas, zwłaszcza przy generowaniu tekstów, list, parametrów czy prostych eksportów danych.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.