如何区分0和空变量?

时间:2014-01-29 06:47:40

标签: php variables

假设我有一个变量$ 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和空变量?

4 个答案:

答案 0 :(得分:2)

您可以使用emptyhttp://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'; 
}