PHP функция проверки является ли число целочисленным(с возможностью включить контроль типа данных).

PHP код функции проверки на целое число

Примеры использования функции

В любом случаи в PHP файлах Вам необходимо для начала разместить код функции из листинга выше.

 myint(100,false);// вернёт true
 myint(100,true);// вернёт true
 myint("100",false);// вернёт false
 myint("100",true);// вернёт true
 myint("100",123);// вернёт true
 myint("abc",123);// вернёт false
 myint("abc",false);// вернёт false
 myint("abc",true);// вернёт false
 myint(150.5,false);// вернёт false
 myint(150.5,true);// вернёт false
 myint("150.5",false);// вернёт false
 myint("150.5",true);// вернёт false

Функция для проверки на число(в том числе дробного) имеющего числовой тип

В листинге выше проверяются только типы integer и double, не смотря на то что согласно документации есть ещё тип float, при этом даже если явно определить переменную в float, gettype всё равно возвращает тип double для типа float, что можно подтвердить таким кодом: $b = (float)4;var_dump($b);var_dump(gettype($b)); который вернёт следующий результат: float(4) string(6) "double", то-есть var_dump от такой переменной возвращает что тип переменной float, а gettype, что тип double, кстати аналогичный результат будет возвращён так же если переменной явно присвоен тип double, то есть следующий код: $c = (double)4;var_dump($c);var_dump(gettype($c)); так же вернёт результат: float(4) string(6) "double" и результат не поменяется если присвоить переменной какое-либо большое число, соответствующее типу double, например следующий код: $d = 45.43 * (10 ** 250);var_dump($d);var_dump(gettype($d)); вернёт такой результат: float(4.543E+251) string(6) "double". Если же присвоить переменной число выходящие за пределы типа double например очень большое положительное или отрицательное число, то в var_dump соответственно можно увидеть бесконечность и минус бесконечность в обоих случаях типа float, gettype от такой переменной по-прежнему вернёт тип double, что можно проверить для результата с бесконечностью следующим кодом: $e = 1.5 * (10 ** 450);var_dump($e);var_dump(gettype($e)); который вернёт результат: float(INF) string(6) "double" и для результата с минус бесконечностью кодом: $f = -1.5 * (10 ** 450);var_dump($f);var_dump(gettype($f)); который вернёт результат: float(-INF) string(6) "double". Таким образом в общем случаи если в PHP присвоить переменной число типа float или double, то var_dump в обоих случаях вернёт результат, что тип переменной float, а функция gettype так же в обоих случаях вернёт результат что тип переменной double.

Комментарии

Если у Вас возникли вопросы, Вы можете задать их в форме ниже. В частности если Ваш вопрос по Bitrix и что то не получается - можно спросить. Ваш e-mail не публикуется, при этом я отвечу на него если будет что то по теме. Писать необходимо для людей - избегайте сленга, пишите орфографически правильно.

Имя:
E-mail:
Текст комментария:

Вы так же можете прочитать следующие статьи: