我有下面的代码,如果两个值为真,则执行某些操作,如果两个中的一个为真,则执行其他操作;如果另一个为真,则为其他内容;如果两个值均为真,则为其他内容。 但是我觉得必须有更简单的方法。
$value1 = true;
$value2 = false;
if ($value1 && $value2){
do something
} else if ($value1){
do something else
} else if ($value2){
do another something
} else {
do final other thing
}
有没有办法用更少的if / else语句
以更好的方式表示这个逻辑答案 0 :(得分:0)
您可以执行如下所示的内联条件:
$value1 = true;
$value2 = false;
($value1 && value2)? do 1 : ($value)? do 2 : ($value2)? do 3 : do 4;
这不是更好的方式,但它仍然是另一种方式:)
答案 1 :(得分:0)
其他方式:
$a = true;
$b = false;
$ab = (int) $a . (int) $b;
switch($ab){
case '00': echo '1'; break;
case '01': echo '2'; break;
case '10': echo '3'; break;
case '11': echo '4'; break;
}
不是更好,但有时更容易阅读。