1

我通过表单和 php 文件使用发布数值,var_dump(is_int($my_var));但它返回bool(false)虽然我发布1,如果我使用var_dump(is_int(1));它很好并返回bool(true) 什么是错误的......?

4

2 回答 2

8

POST 请求传输的变量是字符串,因此您调用is_int()的字符串返回 false。

您可以使用is_numeric()orfilter_var()代替或简单地将变量转换为整数。

于 2012-07-09T12:07:18.627 回答
2
// 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"];
于 2012-07-09T12:10:46.907 回答