Funkcja is_int() w PHP
Funkcja is_int() sprawdza, czy podana wartość ma typ integer, czyli jest liczbą całkowitą. Zwraca wartość logiczną: true albo false.
Składnia
is_int($wartosc)
Funkcja nie sprawdza, czy wartość „wygląda jak liczba”, tylko jaki ma rzeczywisty typ danych.
Przykłady
is_int(135); // true
is_int('135'); // false, bo to string
is_int(13.5); // false, bo to float
is_int(null); // false, bo to NULL
is_int(true); // false, bo to boolean
W pytaniach egzaminacyjnych ważne jest odróżnienie liczby całkowitej od tekstu zawierającego cyfry. Wartość '135' jest napisem, ponieważ znajduje się w cudzysłowie lub apostrofach. Dlatego is_int('135') zwróci false.
Częsty błąd
$liczba = '25';
var_dump(is_int($liczba)); // bool(false)
Mimo że tekst '25' można przekonwertować na liczbę, PHP nie robi tego automatycznie w funkcji is_int().
Funkcje podobne
is_float()— sprawdza, czy wartość jest liczbą zmiennoprzecinkową,is_string()— sprawdza, czy wartość jest tekstem,is_bool()— sprawdza, czy wartość jest typu logicznego,is_numeric()— sprawdza, czy wartość jest liczbą lub tekstem liczbowym.
Najważniejsze do zapamiętania
is_int() zwraca true tylko dla wartości całkowitych typu int, np. 135, 0, -7. Nie zwraca true dla tekstów, wartości NULL ani liczb z częścią dziesiętną.