Intereting Posts
Удалите "http: //" из строки URL Отправить запрос PUT с PHP cURL Доступ к массиву, возвращаемому функцией ZF2: пользовательский картографический модуль для модуля ZfcUser Перенаправление на предыдущую страницу после входа? PHP как отсортировать многомерный массив с помощью внутреннего ключа Процесс удаления одного и того же json-массива создает другой массив результатов для различной позиции значения Как получить «файл эскизов», например, google doc? PHP служит MP4 – Chrome «Предварительные заголовки показаны / запрос еще не закончен» ошибка Могу ли я получить доступ к / dev / urandom с помощью open_basedir? PHP-эквивалентное шифрование / дешифрование для Java tripleDES. Я не получаю такое же шифрование / дешифрование PHPExcel: ошибка «Невозможно прочитать файл» Преобразование Excel в PDF (.xlsx в .pdf) Обнаружение поддержки mysql в php Сообщение об ошибке проверки правильной формы для Codeigniter 2 Уведомления IOS GCM push не получены в фоновом режиме с помощью PHP-отправителя и Swift

is_numeric () vs. is_float () vs. is_int ()

Мое понимание …

if is_numeric($input) === true

то либо

is_float($input) === true ИЛИ

is_int($input) === true ИЛИ

$input === 0 ИЛИ

$input – это числовая строка (это означает, что она удовлетворит одно из первых 3, если оно не будет включено в кавычки).

Это точно? Существуют ли другие различия?

Solutions Collecting From Web of "is_numeric () vs. is_float () vs. is_int ()"

См. Документацию PHP по is_numeric . Он говорит обо всем, что разрешено, и это больше, чем is_float и is_int .


Также важно отметить, что is_int работает только с вещами типа integer, что означает, что представления строк не допускаются. Это обычная проблема при проверке того, что ввод формы является целым числом. Вы должны использовать filter_var или что-то из семейства фильтров с фильтром FILTER_VALIDATE_INT . Для поплавков используйте FILTER_VALIDATE_FLOAT .


Кроме того, если причина, по которой вы пытаетесь проверить целое число, заключается в том, чтобы проверить параметр как int, а затем в PHP 7 вы можете сделать это:

 function foo(int $i) { // $i is guaranteed to be an int (is_int) will be true } 

PHP 7 имеет два разных режима преобразования в int; этот ответ объясняет это немного больше.

Обратите внимание, что это, вероятно, не то, что вы хотите, если вы проверяете содержимое элемента формы. Для этого filter_var решением filter_var .

См. Документы . Числовое значение может быть:

  • Целое число
  • Поплавок
  • экспоненциальный
  • Положительный шестнадцатеричный
  • Строка, содержащая большинство из этих