我不明白为什么filter_var(true, FILTER_VALIDATE_INT)
返回 1
它应该返回false因为 true 不是整数
因为参数一是混合类型,所以当你给它一个 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)
功能是:
function isInt($variable){
if (filter_var( $variable, FILTER_VALIDATE_INT ) !== false) {
return true;
}
return false;
}