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: PHP

Słowa kluczowe: float w PHP

W języku PHP zmienna, której przypisano wartość null,

A. przechowuje liczbę 0.
Źle. 0 to konkretna liczba typu int, a null to brak wartości.
B. nie ma przypisanej żadnej wartości.
Dobrze. null oznacza, że zmienna nie ma żadnej wartości.
C. przechowuje pusty napis.
Źle. Pusty napis to wartość typu string.
D. przechowuje wartość logiczną false.
Źle. false to wartość typu bool; null jest osobnym typem.
Wartość null oznacza w PHP brak wartości. Zmienna ma typ null, gdy przypisano jej null wprost albo gdy usunięto ją poleceniem unset(). Sprawdzisz to funkcją is_null($x) lub porównaniem $x === null, a var_dump($x); wypisze NULL. Do zapamiętania: 0, pusty napis i false to konkretne wartości, a null to ich brak. Przy pracy z bazą danych pola puste (NULL w tabeli) trafiają do PHP właśnie jako null. Wygodny jest operator ??, który podstawia wartość zastępczą: $imie = $_GET['imie'] ?? 'gość';. Funkcja isset() zwraca false dla zmiennej o wartości null. Typ null ma tylko jedną możliwą wartość.
Zamieszanie bierze się z tego, że null, 0, pusty napis i false przy luźnym porównaniu == bywają sobie równe i wszystkie w warunku if dają fałsz. To jednak różne wartości różnych typów: 0 to int, pusty napis '' to string, a false to bool. Ścisłe porównanie === je rozróżnia, więc null === 0 daje false. Funkcja empty() zwraca true dla wszystkich czterech, a isset() daje false tylko dla null. Wartość null niczego nie przechowuje - oznacza, że zmienna nie ma przypisanej wartości. W praktyce różnica ma znaczenie przy formularzach: pole wysłane puste daje pusty napis, a pole, którego w ogóle nie wysłano, nie istnieje w tablicy $_POST, więc odczyt przez ?? zwróci wartość zastępczą. Wszystkie trzy wartości z błędnych wariantów są czymś, a null oznacza brak czegokolwiek.

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.