如何在
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' : '';