如何在
PHP中编写以下布尔表达式:
$foo = ""; if($var==TRUE){ $foo = "bar"; }
要么
if($var==TRUE){ $foo = "bar"; }else{ $foo = ""; }
要么
$foo = ($var==TRUE) ? "bar": "";
首先,true不是常数,它是一个标记,所以请不要大写它(我知道有些标准可以做到这一点,但我认为它混淆了意思)…
其次,在if中你不需要冗余的$var == true比较.它与if($var){(对于double == compare.完全相同.相同的比较===需要显式).
第三,我更喜欢预先初始化.所以:
$foo = ''; if ($var) { $foo = 'one status'; } else { $foo = 'another status'; }
如果您不需要else分支,只需将其删除即可.我更喜欢预初始化,因为它会强制您初始化变量,并且它可以防止您忘记在其中一个分支中初始化它的情况.此外,当您稍后返回阅读该功能时,它会为您提供类型提示…
对于像这样的简单分支,使用三元语法很好.如果有更复杂的逻辑,我会离开:
$foo = $var ? 'bar' : '';