emptytrue如果你给它一个0;返回 您可以isset改为检查它是否已设置(无论值如何):
if(isset($_GET['number']))
来自http://php.net/empty:
如果 var 具有非空且非零值,则返回 FALSE。
以下内容被认为是空的:
""(一个空字符串)
0(0 为整数)
0.0(0 作为浮点数)
"0"(0 作为字符串)
NULL
FALSE
array()(一个空数组)
var $var;(声明的变量,但在类中没有值)
我的测试:
$_GET['number'] = "0";
assert(isset($_GET['number']));
$_GET['number'] = 0;
assert(isset($_GET['number']));
您的代码应如下所示:
if(!isset($_GET['number'])) {
echo "No GET variables";
}
if(isset($_GET['number'])) {
$number=strip_tags(addslashes(htmlspecialchars($_GET['number'])));
echo $number;
}
或者更简洁
if(!isset($_GET['number'])) {
echo "No GET variables";
} else {
$number=strip_tags(addslashes(htmlspecialchars($_GET['number'])));
echo $number;
}