开发项目的时候经常使用empty进行判断变量是否为空。但是有时候一些细节没注意,导致判断逻辑错误。

示例代码:

<?php 
$a = '0';
$b = 0;
$c = ' ';
$d = '';
$e = '0.0';
$f = 0.0;
$g = false;

if (empty($a)) {
		echo 'a is empty<br>';
}

if (empty($b)) {
		echo 'b is empty<br>';
}

if (empty($c)) {
		echo 'c is empty<br>';
}

if (empty($d)) {
		echo 'd is empty<br>';
}

if (empty($e)) {
		echo 'e is empty<br>';
}

if (empty($f)) {
		echo 'f is empty<br>';
}

if (empty($g)) {
		echo 'g is empty<br>';
}

结果:

a is empty
b is empty
d is empty
f is empty
g is empty

那么如果$c,$d要判断为空怎么处理呢?

<?php 
$c = ' ';
$e = '0.0';

if ($c == 0) {
		echo 'c is empty<br>';
}

if ($e == 0) {
		echo 'e is empty<br>';
}

结果:

c is empty
e is empty