假设我有一个变量$ a,它包含一个介于0到10之间的整数。$ a不需要为空/非空来运行代码。它在整数介于1到10之间时有效,但是当它为0时,它将$ a视为空。
$a = 5;
if (!empty($a))
{ echo "not empty"; }
else
{ echo "empty";}
在这种情况下,它回应“不空”。
$a = 0;
if (!empty($a))
{ echo "not empty"; }
else
{ echo "empty";}
但在这种情况下,它回应“空”。
有没有办法区分0和空变量?
答案 0 :(得分:2)
您可以使用empty
:http://fr2.php.net/isset
isset
if (isset($a))
{ echo "not empty"; }
else
{ echo "empty";}
答案 1 :(得分:1)
您可以使用严格相等运算符===
来测试零:
$a = 0;
$isZero = $a === 0; // $isZero is true
答案 2 :(得分:1)
检查空字符串长度为0
if(null === $a || strlen($) === 0) {
}
答案 3 :(得分:0)
EMPTY和NULL之间存在差异。对于$a = 0
,$a
是EMPTY但不是NULL。因此,您可以使用isset($a)
检查$a
是否为NULL。
if (isset($a)) {
echo 'not null';
} else {
echo 'is null';
}