empty
返回true
如果你给它一个0
;您可以使用isset
,而不是检查是否设置(无论值):
if(isset($_GET['number']))
从http://php.net/empty:
返回false变种有一个非空和非零值。
以下的事情被认为是空的:
""
(空字符串)
0
(0作为整数)
0.0
(0为float)
"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;
}
的第三字符。如果我这样做,将它回声“0”? – 2012-04-10 02:06:11
@SamHam我刚刚测试过,是的,确实..你自己试过了吗? – 2012-04-10 02:07:22
我刚刚做了,没有显示0 ... – 2012-04-10 02:08:36