[PHP] Jak sprawdzić typ zmiennej?

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ć funkcji gettype lub var_dump. 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 jako string np. "boolean". Funkcja ta przyjmuje jeden argument - zmienną, której typ chcemy znać.

Przykładowe użycie:

<?php

$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ąć obiekt, 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:

<?php

$array = [0 => 'wartość 1', 1 => 'wartość 2', 2 => '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.

Podsumowując, PHP daje nam fajne możliwości do sprawdzania typów.

Komentarze

Popular

[HTML] Jak wstawić obrazek?

[C++] Jak obliczyć pole i obwód trapezu?

[PHP] Jak pobrać adres strony?