За последние 24 часа нас посетили 16087 программистов и 1666 роботов. Сейчас ищут 910 программистов ...

Ф-я проверки числа

Тема в разделе "Прочие вопросы по PHP", создана пользователем admyx, 26 ноя 2008.

  1. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Вот написал для себя функцию, назначение которой проверять, действительно ли число цифра, больше нуля и не дробь.
    Правильно написал? Или где-то уязвимость все равно есть?

    PHP:
    1. <?php
    2.  
    3. function bezpezdu_num($num)
    4. {
    5.     if(isset($num) && !empty($num) && is_numeric($num) && $num > 0 && ctype_digit($num))
    6.         return true;
    7.     else
    8.         return false;
    9. }
    10.  
    11. ?>
     
  2. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    is_numeric() достаточно.
    Отрицальные числа - это не числа?
     
  3. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. if (ctype_digit($num) && $num > 0) {
    2.     // ...
    3. }
    всё
     
  5. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
  6. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
  7. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Мнятна.

    PHP:
    1. <?php
    2.  
    3. function bezpezdu_num($num)
    4. {
    5. if(ctype_digit($num) && $num > 0)
    6.          return true;
    7. else
    8.          return false;
    9. }
    10.  
    11. ?>
    Всем пасиб))
     
  8. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    bezpezdu_num(123); // false


     
  9. Xerk

    Xerk Активный пользователь

    С нами с:
    5 окт 2007
    Сообщения:
    177
    Симпатии:
    0
    Адрес:
    Владивосток
    Намекаешь что испольовать таким образом?
    PHP:
    1. <?php ctype_digit(strval($num)); ?>
     
  10. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    Xerk
    угу. как то так.

    PHP:
    1. <?
    2. // А еще
    3. (bool) '00'; // true, по этому всетаки надо писать && $num > 0 а не && $num
    4.