1.1, kVn (?), 13:23, 11/07/2002 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
if (is_numeric($var)) { число }
is_numeric()
Returns TRUE if var is a number or a numeric string, FALSE otherwise.
PHP 4 >= 4.0.0
| |
|
2.4, oraweb (ok), 13:50, 07/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
$var="dfsgdsfgdf";
if($var+0==$var) -> еррор лог апача быстро распухнет хренатенью от таких проверок.
Чья бы корова мычала... | |
|
1.5, oraweb (ok), 14:37, 07/03/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
для Perl
if ($var =~ /^\d+$/) {число целочисленное}
if ($var =~ /^[+-]?\d+$/) {число целочисленное со знаками плюс или минус впереди}
| |
1.8, Sliper (?), 14:15, 13/10/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А можно вот так:
is_int($имя_переменной) - проверяет, является ли переменная целым числом (тип integer);
is_float($имя_переменной) - проверяет, является ли переменная числом с плавающей точкой;
is_null($имя_переменной) - проверяет, равно ли значение переменной нулю;
is_numeric($имя_переменной) - проверяет, является ли переменная числовой строкой;
| |
1.9, Alexander (??), 11:30, 25/07/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Такой вариант:
$a = '123';
if (is_int($a)) вернет false, тогда как это является числовой строкой.
Отпадает.
Далее:
$b = '1e23';
if (is_numeric($b)) вернет true, тогда как это не совсем число.
Так же, отпадает.
Регулярки использовать не хочется. Есть какие-то еще варианты?
| |
1.11, AlexRussIp (?), 18:50, 07/02/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Очень просто, если вот так:
if((int)$id == $id){true}
Для не строгого сравнения работает, Если же брать оператор "===" - то тут проверяется и тип - то есть для $id = '1'; - не прокатит
| |
1.12, AlexRussIp (?), 19:01, 07/02/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Хе, проверил - не сработало)), Но зато работает
if(strval((int)$id)==$id){true} и так
if(strval((int)$id)===$id){true}
| |
|