我不明白为什么filter_var(true, FILTER_VALIDATE_INT)
返回1为什么filter_var(真,FILTER_VALIDATE_INT)返回1
它应该返回假因为真正的不整数
我不明白为什么filter_var(true, FILTER_VALIDATE_INT)
返回1为什么filter_var(真,FILTER_VALIDATE_INT)返回1
它应该返回假因为真正的不整数
原因的说法之一就是类型的混合,所以当你给一个bool它丢在INT所以返回1,您可以测试使用的var_dump
这可能是因为你没有传递一个整数。
看看这个:
var_dump(isInt(1)); // bool(true)
var_dump(isInt("1")); // bool(true)
var_dump(isInt("str")); // bool(false)
var_dump(isInt(array(1))); // bool(false)
功能是:与var_dump
function isInt($variable){
if (filter_var($variable, FILTER_VALIDATE_INT) !== false) {
return true;
}
return false;
}
您如何期望我们在不知道您作为'$ variable'传递的情况下回答这个问题? – ceejayoz
为什么你不使用内置函数'is_int'这个? –
'filter_var(真,FILTER_VALIDATE_INT)''返回1',不'TRUE'。 [小提琴](http://3v4l.org/5ujT9) –