当一个变量没有声明的时候,第一个 if 会报错
if ($a) {
echo $a.'1'.PHP_EOL;
}
if (!empty($a)) {
echo $a.'2'.PHP_EOL;
}
if (isset($a)) {
echo $a.'3'.PHP_EOL;
}
<!--more-->
当一个变量声明了,并且值为空的时候,isset 会通过,此处输出结果是 a3
$a='';
if ($a) {
echo $a.'1'.PHP_EOL;
}
if (!empty($a)) {
echo $a.'2'.PHP_EOL;
}
if (isset($a)) {
echo $a.'3'.PHP_EOL;
}
当一个变量声明了,并且有值的时候,三个都会通过,此处输出结果是 a1 a2 a3
$a='a';
if ($a) {
echo $a.'1'.PHP_EOL;
}
if (!empty($a)) {
echo $a.'2'.PHP_EOL;
}
if (isset($a)) {
echo $a.'3'.PHP_EOL;
}
empty 去做判断,如果用 isset 去做判断就毫无意义。empty 可以判断变量是否存在并且值是否为空,所以尽量用 empty 做判断。isset 只能判断变量是否声明。