Funkcja is_int() w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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ą.