URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 833
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Как проверить что переменная является числом."

Отправлено auto_tips , 11-Июл-02 13:23 
if (ereg("^[0-9]+$", $var)) { число }


URL:
Обсуждается: http://www.opennet.me/tips/info/83.shtml


Содержание

Сообщения в этом обсуждении
"Как проверить что переменная является числом."
Отправлено kVn , 11-Июл-02 13:23 
if (is_numeric($var)) { число }

is_numeric()
Returns TRUE if var is a number or a numeric string, FALSE otherwise.
PHP 4 >= 4.0.0


"Как проверить что переменная является числом."
Отправлено ГрызЪ , 16-Янв-03 01:16 
if($var+0==$var) это число

"Как проверить что переменная является числом."
Отправлено oraweb , 07-Мрт-06 13:50 
$var="dfsgdsfgdf";
if($var+0==$var) -> еррор лог апача быстро распухнет хренатенью от таких проверок.
Чья бы корова мычала...

"Как проверить что переменная является числом."
Отправлено k512 , 25-Май-04 17:06 
if(is_numeric($var)) это тоже число :)

"Раздел полезных советов: Как проверить что переменная являет..."
Отправлено oraweb , 07-Мрт-06 14:37 
для Perl
if ($var =~ /^\d+$/) {число целочисленное}
if ($var =~ /^[+-]?\d+$/) {число целочисленное со знаками плюс или минус впереди}

"Как проверить что переменная является числом."
Отправлено Денис Лозко , 16-Окт-06 14:24 
ctype_digit

(PHP 4 >= 4.0.4, PHP 5)
ctype_digit -- Check for numeric character(s)


"Как проверить что переменная является числом."
Отправлено liuch , 14-Май-09 13:08 
if (ereg("^[1-9]+[0-9]*$", $var)) { число }

"Как проверить что переменная является числом."
Отправлено Sliper , 13-Окт-09 14:15 
А можно вот так:
is_int($имя_переменной) - проверяет, является ли переменная целым числом (тип integer);
is_float($имя_переменной) - проверяет, является ли переменная числом с плавающей точкой;
is_null($имя_переменной) - проверяет, равно ли значение переменной нулю;
is_numeric($имя_переменной) - проверяет, является ли переменная числовой строкой;

"Как проверить что переменная является числом."
Отправлено Alexander , 25-Июл-13 11:30 
Такой вариант:
$a = '123';
if (is_int($a)) вернет false, тогда как это является числовой строкой.
Отпадает.

Далее:
$b = '1e23';
if (is_numeric($b)) вернет true, тогда как это не совсем число.
Так же, отпадает.

Регулярки использовать не хочется. Есть какие-то еще варианты?


"Как проверить что переменная является числом."
Отправлено Kotolegokot , 27-Ноя-13 09:18 
С каких щей '1e23' -- не число?

"Как проверить что переменная является числом."
Отправлено AlexRussIp , 07-Фев-15 18:50 
Очень просто, если вот так:
if((int)$id == $id){true}
Для не строгого сравнения работает, Если же брать оператор "===" - то тут проверяется и тип - то есть для $id = '1'; - не прокатит

"Как проверить что переменная является числом."
Отправлено AlexRussIp , 07-Фев-15 19:01 
Хе, проверил - не сработало)), Но зато работает
if(strval((int)$id)==$id){true} и так
if(strval((int)$id)===$id){true}