числовые типы данных PHP и Mysql

Вурдалак

Продвинутый новичок
ctype — библиотека из C, работает чисто со строками. У этого есть небольшой подобочный эффект:
PHP:
var_dump(ctype_digit(909522486)); // bool(true)
var_dump(ctype_digit(808464432)); // bool(true)
// etc
:)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
> Внезапно: ctype_digit()

> 1. Как это делать на уровне ядра.

вы уж определитесь, если ctype - то лучше filter
 

Духовность™

Продвинутый новичок
Извините, но это ЖОПА. Теперь понятно, почему ругают PHP. Совершенно бардачный язык.

1. Целых два расширения для проверки типов - ctype и filter
2. Оба расширения не имеют средств для повседневной работы. Как мне проверить, что число есть простое decimal? Писать свой regexp? Почему в том же фильтре нет таких банальных средств для такой работы?
3. Санитарная обработка фильтра поражает:
PHP:
$v = '123456546366365463+5++++7какашки';
filter_var($v, FILTER_SANITIZE_NUMBER_INT);
// 0123456546366365463+5++++7
- школьник за минуту наверное напишет куда более качественный аналог.

4. Тип int тупо завязан на ОС.

В общем, я расстроен.
 

Вурдалак

Продвинутый новичок
triumvirat, OK. Так пиши это разработчикам языка, какой смысл тут ныть постоянно? Либо меняй язык.
 

Духовность™

Продвинутый новичок
покритикуйте функцию. её можно использовать для определения целого числа со знаком?

PHP:
function is_decimal($value)
{
    if (preg_match('~^([+\-]?[1-9][0-9]*|0)$~', $value, $matches))
    {
        return $matches;
    }

    return FALSE;
}
 
Сверху