2016-04-01 5 views
0

Мне нужно проверить, является ли число абсолютным целым числом.Как проверить, является ли число абсолютным целым с помощью PHP?

Я, кажется, легко может преобразовать число в Absint abs(intval($_POST['number']));, но не могу понять, как проверить одно:

// pseudo code 
if (is_asbint($_POST['number'])) { 
    echo 'yay'; 
} 
+0

'if (is_int ($ number) AND $ number> 0) {echo 'yay'; } ' –

+0

@ Rizier123, если' is_int() 'вернет true для отрицательных чисел, тогда нет. – henrywright

+0

Существует также 'is_numeric()', который вернет true для 'is_numeric (" 1 ")' и 'is_numeric (1)' – dotcomly

ответ

1

Есть много логических способов проверить, но одну конкретную функцию - ctype_digit() - бывает точно что вы хотите.
Это, вероятно, стоит отметить, что я говорю «происходит» и «то, что вы хотите » по двум конкретным причинам:

  1. ctype_digit() предназначен для проверки значения а строки (она не будет работать по значениям, которые фактически принадлежат целому числу ) состоит целиком из цифры символов, что означает, что он не примет знак минус/тире.
  2. Любое значение $_POST (за исключением массивов) гарантировано строка, если вы не изменили ее из своего кода - пользовательские входы всегда поступают как строки ... вы просто называете это «целым числом» здесь.
+0

Спасибо за указание этой функции и спасибо за объяснение. – henrywright

Смежные вопросы