我正在尝试检查变量是否为整数,如果她是在辩论中:2-15。
我正在尝试使用filter_var()
函数进行此操作。但我不明白如何正确使用min_range
和max_range
参数。
这不起作用,我错了?
$c = 48;
if ( filter_var($c, FILTER_VALIDATE_INT , array("min_range"=>2,"max_range"=>15)) === false ) {
echo "bad";
}
答案 0 :(得分:12)
min_range和max_range值必须是一个级别,更深:
// for filters that accept options, use this format
$options = array(
'options' => array(
'default' => 3, // value to return if the filter fails
// other options here
'min_range' => 0
),
'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
所以:
$c = 48;
if (filter_var($c, FILTER_VALIDATE_INT, array("options" => array("min_range"=>2,"max_range"=>15))) === false) {
echo "bad";
}
答案 1 :(得分:3)
它们应该在选项数组中:
if ( filter_var($c, FILTER_VALIDATE_INT, array(
"options"=>array(
"min_range"=>2,
"max_range"=>15
)
)) === false ) {
echo "bad";
}
虽然
似乎过于复杂的写2 <= $c && $c <= 15
的方式