在执行操作之前,我需要做一个条件语句,其中5个变量应为空。问题是某些变量可以为零,false或NULL值。如何抓住所有人?
哪个更好?
If (!$a && !$b && !$c && !$d && !$e) {
// do some action
} else {
exit;
}
OR
If (empty($a) && empty($b) && empty($c) && empty($d) && empty($e)) {
// do some action
} else {
exit;
}
谢谢。
答案 0 :(得分:1)
首先,使用“代码示例”显示代码。
使用!$a
时,实际上是在将 $ a 强制转换为布尔值。
这里的问题是
$a = 0;
if (!$a) {
echo 'NOT EMPTY';
} else {
echo 'EMPTY';
}
//OUTPUT EMPTY BECAUSE 0 to boolean is FALSE
与 NULL 值相同的示例。
关于空,我建议您检查documentation
阅读并选择适合您需求的方式。
希望这会有所帮助
答案 1 :(得分:0)
这可能是一次检查多个变量是否为空的方法。
<?php
$a = $b = $c = $d = $e = '';
#$b = 5; // comment out to go on else block
if (empty($a . $b . $c . $d . $e)){
echo "All variables are empty, do what you want to do man";
}else{
echo "One of variable is not empty";
}
?>