Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Синтаксис регулярных выражений


Автор: Phantom1 5.8.2005, 15:50
Приходит переменная всегда = цифры - проверяем preg_match("#^\d+$#",$asd), но ингда может присутствовать запятая
собственно сам вопрос как проверить возможную запятую(может присутствовать а может и нет)?

Автор: Mal Hack 5.8.2005, 15:55
А is_numeric, is_float, is_int чем не устраивают?

Автор: Bikutoru 5.8.2005, 16:15
Цитата
А is_numeric, is_float, is_int чем не устраивают?

is_float и is_int не годятся - они осуществляют проверку текущего типа аргумента.
is_int("1") = false
А вот is_numeric - то, что нужно
Цитата

Note: To test if a variable is a number or a numeric string (such as form input, which is always a string), you must use is_numeric().

(с) php.net

Автор: Mal Hack 5.8.2005, 16:19
Bikutoru
Знаю левый способ, но: is_int( (int) $str ) хотя изврат и не правильный.
Добавлено @ 16:23
В догонку.... http://forum.vingrad.ru/index.php?showtopic=55188&hl=
http://php.net/ctype

Автор: Bikutoru 5.8.2005, 16:30
Цитата
is_int( (int) $str )

Точно, левый способ и всегда true возвращает.
А вот ctype_... это хорошая вещь, не знал, что оно и для строк работает, думал, что только для символов... Учту smile

Автор: Phantom1 8.8.2005, 08:49
насчет is_numeric то он возвращяет true если цифры с плавающей точкой а не запятой

что то я совсем запутался подскажите
переменная $asd - (это уменя цена товара) как мне ее лучше хранить в базе как страку или как число? а сортировку по базе наверное лучше проводить по числам?
если сохраняем как строку то как проверить цифры с запятой, насчет точки понятно как ее проверить

формат переменной
$asd может быть [0-9] или ([,] или [.])

Автор: Bikutoru 8.8.2005, 09:21
Цитата
как мне ее лучше хранить в базе как страку или как число?

Как число
Цитата
$asd может быть [0-9] или ([,] или [.])

Код

$asd = str_replace(",", ".", $asd);
if (!is_numeric($asd))
  die("Not numeric value");


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)