为什么这段代码返回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)
*/
答案 0 :(得分: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)