как определить что в передаваемом параметре именно число?

Тема в разделе "PHP", создана пользователем zhito, 13 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. zhito

    zhito

    Регистр.:
    23 авг 2007
    Сообщения:
    165
    Симпатии:
    22
    собсно сабж, а не что-то другое
    допустим от нуля до 100 ?
     
  2. lan_

    lan_ Постоялец

    Регистр.:
    24 апр 2007
    Сообщения:
    171
    Симпатии:
    28
  3. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    А примечание там читали?

    надо сюда function.is-numeric

    Но лично я проверяю так на число.
    PHP:
    $var='5';

    if(
    intval($var)==$var){
     
    значит число
    ну а проверить от 1 до 100
    if($var>=1&&$var<=100){
    число 1...100
    }
    }
    Также можно использовать регулярку. но нет смысла
     
    zhito нравится это.
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    Параметр откуда - POST/GET запрос или вызов функции?
    Если запрос, то всё будет строками, сравнить можно при помощи ctype.

    Ты просто не умеешь его готовить :)
    А если серьёзно - есть множество языков со строгой типизацией, кто-то заставляет использовать PHP под страхом смертной казни?
     
  5. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    plaintext

    А вот так лучше не поступать.
    А если $_GET['parametr']='0'? Алгоритм даст ошибку.
     
  6. see

    see Создатель

    Регистр.:
    15 май 2008
    Сообщения:
    44
    Симпатии:
    0
    можно вообще не определять ))

    проще сделать обязательно приведение входной переменной к числовому типу :
     
  7. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    И получить 0 в итоге для всех не чисел.:ay: Ну конечно если 0 не нужен, то так можно. Вообще то в жизни обычно передаются всякие id, по которым потом запрашивается база даных и там нуля быть не может. Там такой подход работает. Но все равно идет сравнение с 0. Для верности.
     
  8. Crazy108

    Crazy108 Создатель

    Регистр.:
    6 сен 2008
    Сообщения:
    45
    Симпатии:
    7
    Метод работает в 99% случаев. сам его пользую и не только для GET/POST параметров. НО! 1% который остался, это когда реально в передаваемых параметрах не важно чего и должен быть тот самый злополучный 0, о котором ну никак нельзя забывать
     
  9. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    996
    Симпатии:
    268
    А я обычно регулярными выражениями выдергиваю числа из передаваемого содержимого, а все буквы и знаки затираю. И переменнй id=sdf5216+sdf3 у меня получается
    id=52163 . может быть вам такой вариант подойдет.
     
Статус темы:
Закрыта.