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

Słowa kluczowe: Boolean w PHP

Który z typów wspieranych przez język PHP służy do obsługi zmiennych logicznych?

A. Float
B. String
C. Boolean
D. Integer

Pytanie z egzaminu CKE, czerwiec 2021 (arkusz E.14-SG-21.06).

Typ Boolean służy w PHP do przechowywania wartości logicznych, czyli takich, które mają tylko dwa możliwe stany: true albo false. To jest bardzo ważny typ danych, bo na nim opiera się większość warunków w programie. Na przykład zmienna $czyZalogowany = true; może informować, że użytkownik jest już zalogowany, a $maUprawnienia = false; że nie ma dostępu do panelu administracyjnego. Potem takie zmienne wykorzystuje się w instrukcjach if, pętlach while, walidacji formularzy czy kontroli dostępu. W praktyce webowej Boolean pojawia się cały czas: czy formularz przeszedł walidację, czy plik został wysłany, czy użytkownik zaakceptował regulamin, czy zapytanie do bazy się powiodło. W PHP często mówi się też o typie bool, bo taka nazwa jest używana np. przy deklarowaniu typów w nowoczesnym kodzie. Boolean to nazwa opisowa, a bool to skrócona forma stosowana w składni. Moim zdaniem warto od razu kojarzyć ten typ z decyzjami w programie, bo wtedy łatwiej pisać czytelny kod. Dobra praktyka jest taka, żeby zmiennym logicznym nadawać nazwy sugerujące pytanie, np. $isActive, $hasAccess albo po polsku $czyAktywny. Dzięki temu od razu wiadomo, że zmienna ma wartość prawda/fałsz, a nie liczbę czy tekst.
W PHP zmienne logiczne nie są obsługiwane przez typ Float, Integer ani String, chociaż w praktyce początkujący często mylą te pojęcia, bo PHP potrafi automatycznie konwertować wartości między typami. Float służy do przechowywania liczb zmiennoprzecinkowych, na przykład 3.14, 0.5 albo wyniku dzielenia, który nie jest liczbą całkowitą. Taki typ przydaje się przy cenach, pomiarach, procentach lub obliczeniach matematycznych, ale nie opisuje bezpośrednio stanu prawda/fałsz. Integer to liczba całkowita, np. 0, 1, 25 albo -7. Czasem ktoś kojarzy 0 z false, a 1 z true, bo w wielu językach i bazach danych tak się to zapisuje, ale to nadal nie znaczy, że Integer jest typem logicznym. To tylko możliwa konwersja lub umowny zapis. String natomiast przechowuje tekst, czyli np. nazwę użytkownika, adres e-mail albo napis false. I tutaj jest ciekawa pułapka: tekst false nie jest tym samym co wartość logiczna false. To ciąg znaków, a nie prawdziwy stan logiczny. Z mojego doświadczenia takie pomyłki potem prowadzą do dziwnych błędów w instrukcjach if, szczególnie gdy kod sprawdza pusty napis, zero albo tekstową wartość pobraną z formularza. W dobrym, czytelnym kodzie warto rozdzielać znaczenie danych: liczby zapisujemy jako Integer albo Float, tekst jako String, a decyzje i warunki jako Boolean, czyli true lub false. Dzięki temu program jest bardziej przewidywalny i łatwiejszy do debugowania, no i mniej człowiek walczy z automatycznym rzutowaniem typów w PHP.

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.