php filter\u var失败,filter\u VALIDATE\u INT为零

php filter\u var失败,filter\u VALIDATE\u INT为零,php,Php,我感到困惑的是,以下情况会引发异常: if (!filter_var(0, FILTER_VALIDATE_INT)) throw new Exception("Non numeric field passed " . $field . " when expecting a number: " . $variable . " passed instead"); 有什么好办法吗?我尝试了intval(0),但仍然一无所获。零不是整数吗?返回过滤后的数据,如果过滤失败则返回FALSE fi

我感到困惑的是,以下情况会引发异常:

if (!filter_var(0, FILTER_VALIDATE_INT))
    throw new Exception("Non numeric field passed " . $field . " when expecting a number: " . $variable . " passed instead");
有什么好办法吗?我尝试了intval(0),但仍然一无所获。零不是整数吗?

返回过滤后的数据,如果过滤失败则返回FALSE


filter\u var(0,filter\u VALIDATE\u INT)
返回
INT(0)
,是一个伪值,
!filter\u var(0,filter\u VALIDATE\u INT)
将为真。

人们应该测试false

if (filter_var($value, FILTER_VALIDATE_INT) === false) {
    // $value is not an integer
}

但是如果输入的范围在0-100000之间呢?但是如果输入的范围在0-100000之间呢?@iiiml0sto1因为整数的rand是-2^31=>2^31,0-100000是聚合的子级