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

Статус
В этой теме нельзя размещать новые ответы.

zhito

Местный житель
Регистрация
23 Авг 2007
Сообщения
165
Реакции
23
собсно сабж, а не что-то другое
допустим от нуля до 100 ?
 

А примечание там читали?

Замечание: 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:
$var='5';

if(intval($var)==$var){
 значит число
ну а проверить от 1 до 100
if($var>=1&&$var<=100){
число 1...100
}
}

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

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

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

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

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

И получить 0 в итоге для всех не чисел.:ay: Ну конечно если 0 не нужен, то так можно. Вообще то в жизни обычно передаются всякие id, по которым потом запрашивается база даных и там нуля быть не может. Там такой подход работает. Но все равно идет сравнение с 0. Для верности.
 
И получить 0 в итоге для всех не чисел.:ay: Ну конечно если 0 не нужен, то так можно. Вообще то в жизни обычно передаются всякие id, по которым потом запрашивается база даных и там нуля быть не может. Там такой подход работает. Но все равно идет сравнение с 0. Для верности.
Метод работает в 99% случаев. сам его пользую и не только для GET/POST параметров. НО! 1% который остался, это когда реально в передаваемых параметрах не важно чего и должен быть тот самый злополучный 0, о котором ну никак нельзя забывать
 
А я обычно регулярными выражениями выдергиваю числа из передаваемого содержимого, а все буквы и знаки затираю. И переменнй id=sdf5216+sdf3 у меня получается
id=52163 . может быть вам такой вариант подойдет.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху