我通过表单发布数值,并在php文件中使用var_dump(is_int($my_var));
,但它返回bool(false)
但我发布 1 ,如果我使用var_dump(is_int(1));
没关系,返回bool(true)
有什么不对......?
答案 0 :(得分:7)
POST请求传输的变量是字符串,因此您在返回false的字符串上调用is_int()
。
您可以使用is_numeric()
或filter_var()
代替,或者只是将变量转换为整数。
答案 1 :(得分:1)
// First check if it's a numeric value as either a string or number
if(is_numeric($int) === TRUE){
// It's a number, but it has to be an integer
if((int)$int == $int){
return TRUE;
// It's a number, but not an integer, so we fail
}else{
return FALSE;
}
// Not a number
}else{
return FALSE;
}
此外,而不是将变量作为
$my_var = $_POST["value"];
尝试这样做以查看值是否真的通过了。
$my_var = $_REQUEST["value"];