Проверить является ли числом php

(PHP 4, PHP 5, PHP 7)

is_numeric — Проверяет, является ли переменная числом или строкой, содержащей число

Описание

Проверяет, является ли данная переменная числом. Строки, содержащие числа, состоят из необязательного знака, любого количества цифр, необязательной десятичной части и необязательной экспоненциальной части. Так, +0123.45e6 является верным числовым значением. Шестнадцатеричная (0xFF), двоичная (0b10100111001) и восьмеричная (0777) записи также допускаются, но только без знака, десятичной и экспоненциальной части.

Список параметров

Возвращаемые значения

Возвращает TRUE , если var является числом или строкой, содержащей число, в противном случае возвращается FALSE .

Примеры

Пример #1 Примеры использования is_numeric()

= array(
"42" ,
1337 ,
0x539 ,
02471 ,
0b10100111001 ,
1337e0 ,
"not numeric" ,
array(),
9.1
);

foreach ( $tests as $element ) <
if ( is_numeric ( $element )) <
echo "’ < $element >’ — число" , PHP_EOL ;
> else <
echo "’ < $element >’ — НЕ число" , PHP_EOL ;
>
>
?>

Результат выполнения данного примера:

Смотрите также

  • ctype_digit() — Проверяет на наличие цифровых символов в строке
  • is_bool() — Проверяет, является ли переменная булевой
  • is_null() — Проверяет, является ли значение переменной равным NULL
  • is_float() — Проверяет, является ли переменная числом с плавающей точкой
  • is_int() — Проверяет, является ли переменная переменной целочисленного типа
  • is_string() — Проверяет, является ли переменная строкой
  • is_object() — Проверяет, является ли переменная объектом
  • is_array() — Определяет, является ли переменная массивом

$post используется для моделирования $_POST и я обнаружил, что $_POST[‘int’] это строка

Как я могу сказать, $post[‘int’] такое целое число?

Следующее указывает, что это не целое число.

Читайте также  Процессор amd e2 9000 отзывы

РЕДАКТИРОВАТЬ. По документации (http://php.net/manual/en/function.is-int.php ), is_int — Find whether the type of a variable is integer так что, очевидно, он делает именно то, что должен делать. Еще нужно сказать, является ли строка целым числом …

Решение

Если вы действительно хотите знать, является ли значение целым числом, вы можете использовать filter_input () . Важно: вы не можете проверить это с подделкой $_POST Вар, вы действительно должны опубликовать значение или использовать INPUT_GET для тестирования и добавления ?int=344 на ваш URL

Обновить:
Из-за комментария @ user1032531 ответ

Я бы подумал, что запеченное решение было бы доступно

Существует встроенная функция под названием filter_var () , эта функция делает то же самое, что и вышеприведенный пример, но ей не нужны POST или GET, вы можете просто передать ей значение или переменную:

Другие решения

Не думаю, что это сильное решение, но …

Ты можешь использовать is_numeric функция возвращает истину, если var является integer или же String Integer

Если вы хотите знать, является ли переменная integer и не string integer ты можешь использовать

Чтобы проверить, является ли переменная float ты можешь использовать is_float();

Вы должны использовать is_numeric()

Замечания:
Чтобы проверить, является ли переменная числом или числовой строкой (например,
Форма ввода (которая всегда является строкой), вы должны использовать is_numeric ().

В PHP, чтобы проверить является ли переменная целочисленным числом, есть функция is_int($var) , которая возвращает true — если является и false если нет.

Проверка is_int

Проверим несколько переменных функцией is_int($var) .

Если переменная является числом, то функция вернет ‘integer’ .

Этот способ не рекомендуется использовать.

Ссылка на основную публикацию
Adblock
detector