если нужно обработать одну-две переменных, то незачем упрощать конструкцию.. а для обработки множества входных данных удобно использовать http://ru2.php.net/manual/ru/book.filter.php
Уж сколько раз всем кофейникам писал: $_REQUEST всегда только строка. Все. Никаких булевых или интеджерей быть не может. "===число" бессмысленен с $_REQUEST.
например,
function filter_pos_int($var,$SCOPE=INPUT_POST){
return filter_input($SCOPE,$var,FILTER_VALIDATE_INT,array('options'=>array('min_range'=>0)));
}
всегда даст integer >=0 или false, что удобно проверять на тип
DiMA, Ваше утверждение абсолютно верно для случая, когда в $_POST содержатся данные, действительно отправленные POST-ом, но бывают исключительные ситуации:
weregod, только это не объясняет почему наполнять их надо значениями, которые не могут туда попасть обычным образом, например int-ами, а не строковыми представлениями чисел. наверное, чтобы получить удовольствие от отладки
я просто заметил, что ожидать в $_REQUEST исключительно строковые данные можно только до того момента, пока они не будут подменены вручную и привёл пример вредной замены
и не спорю, что
#define TRUE FALSE
ходит рядом с
$_REQUEST['var'] = 100;