Warning: session_start(): open(/var/lib/php/session/sess_b464bfe8fbc8b5bc5b1d565744b6474d, O_RDWR) failed: No space left on device (28) in /var/www/blog.ivru.net/config.php on line 1069

Warning: session_start(): Failed to read session data: files (path: /var/lib/php/session) in /var/www/blog.ivru.net/config.php on line 1069
PHP функция проверки является ли число целочисленным(с возможностью включить контроль типа данных).

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.

Вариант проверки на целое число с возможностью проверки сразу на не отрицательное и большее нуля

Начиная с 9 мая 2025 года решил производить проверку переменной на целое число новой функцией, в которую так же добавлена возможность производить проверку числа на не отрицательное или большее нуля, для этих целей в функции предусмотрен 3-ий параметр, который по умолчанию имеет значение false при котором функция работает как и предыдущий вариант - проверяет число только на целое без проверки на не отрицательное число или большее нуля, если явно установить значение 3-его параметра в 0(важно именно установить значение как число а не как строка) - то проверка будет дополнительно проводиться на значение входящего в функцию числа в первом параметре на большее или равное нулю, если 3-ий параметр установлен в true(или любое значение которое интерпретируется PHP как true) - то будет производиться дополнительная проверка числа переданного в функцию в первом параметре на значение большее нуля.

Комментарии

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

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

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