[PHP] Jak sprawdzić typ zmiennej?

Artykuł został zaktualizowany 03/05/2020.

Czy w PHP można sprawdzić typ zmiennej? Oczywiście, że można. Język ten daje nam kilka możliwości sprawdzenia typu przechowywanych danych. W zależności do czego potrzebujemy takiej informacji, możemy użyć gettype lub var_dump - funkcji do debugowania kodu. Jeśli typ zmiennej ma zostać sprawdzony w instrukcji warunkowej, używa się funkcji obsługi zmiennych, o których napisałem w dalszej części.

gettype

Funkcja gettype jak sama jej nazwa mówi pobiera i zwraca typ zmiennej. Funkcja ta przyjmuje jeden argument - zmienną, której typ chcemy znać.

Przykładowe użycie funkcji:

$n = 1;

echo gettype($n); # wyświetli: "integer"

var_dump

Funkcja var_dump jest bardziej zaawansowana, zwraca ona nie tylko typ zmiennej, ale i jej wartość. Ponadto funkcji var_dump możemy użyć nie tylko do sprawdzania typu zmiennej, ale także do szczegółowego sprawdzania tablic i obiektów. Funkcja jako argument może przyjąć zmienną, funkcję, a nawet wyrażenie. Funkcja ta nie zwraca wartości, a bezpośrednio wyświetla zrzut struktury podanego argumentu.

Przykładowe użycie funkcji:

$array = [1 => 'wartość 1', 2 => 'wartość 2', 3 => 'wartość 3'];

var_dump($array);
var_dump(date('Y'));
var_dump(2 + 2);

Funkcje var_dump i gettype zostały stworzone do celów debugowania. Jeśli typ zmiennej ma zostać sprawdzony w instrukcji, używa się wtedy funkcji podobnych do is_bool czy is_numeric, które zwracają wartości logiczne TRUE/FALSE i są przeznaczone do używania w instrukcjach.

Najczęściej używane funkcje obsługi zmiennych:

  • is_bool // Zwróci TRUE, jeśli zmienna jest typu boolean
  • is_numeric // Zwróci TRUE, jeśli zmienna jest liczbą lub ciągiem liczbowym
  • is_null // Zwróci TRUE, jeśli zmienna jest NULL
  • is_float // Zwróci TRUE, jeśli zmienna jest liczbą zmiennoprzecinkową
  • is_int // Zwróci TRUE, jeśli zmienna jest liczbą całkowitą
  • is_string // Zwróci TRUE, jeśli zmienna jest ciągiem
  • is_object // Zwróci TRUE, jeśli zmienna jest obiektem
  • is_array // Zwróci TRUE, jeśli zmienna jest tablicą
  • is_resource // Zwróci TRUE, jeśli zmienna jest zasobem

Powyższe funkcje zwrócą FALSE, jeśli zmienna, którą sprawdzamy będzie innego typu niż przeznaczonego jako poprawny do danej funkcji. Funkcje, które opisałem powyżej są najczęściej stosowane w kodzie, ale PHP oferuje znacznie więcej podobnych funkcji, o których można przeczytać w dokumentacji PHP.

Tak więc podsumowując, PHP daje nam fajne możliwości do debugowania zmiennych jak i sprawdzania ich typu dla potrzeb sterowania kodem.

Komentarze

Popularne posty z tego bloga

[HTML] Jak wstawić obrazek?

[PHP|HTML] Odświeżenie strony