0

为什么这段代码返回false?

$var_1 = $_COOKIE['cookie_value']; // = 15
$var_2 = $_GET['get_value']; // = 21

echo $var_1 . '<br>' . $var_2;
/* output: 
15
21
*/


var_dump(is_int($var_1));
echo '<br>';
var_dump(is_int($var_2));
/* output:
bool(false)
bool(false)
*/
4

1 回答 1

1

那是因为 cookies 和 $_GET 总是返回一个字符串数据类型。要is_int()在此类数据上使用,只需添加一个零即可$var将其解析为数字。因此:

$var = $_GET['get_value']; // 15
var_dump(is_int($var));
// output: bool(false)

$var += 0;
var_dump(is_int($var));
//output: bool(true)
于 2013-09-18T15:37:27.680 回答