PHP:is_int返回错误的结果

时间:2012-07-09 11:59:59

标签: php

我通过表单发布数值,并在php文件中使用var_dump(is_int($my_var));,但它返回bool(false)但我发布 1 ,如果我使用var_dump(is_int(1));没关系,返回bool(true) 有什么不对......?

2 个答案:

答案 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"];