PHP简化if else语句

时间:2015-02-02 20:02:13

标签: php logic

我有下面的代码,如果两个值为真,则执行某些操作,如果两个中的一个为真,则执行其他操作;如果另一个为真,则为其他内容;如果两个值均为真,则为其他内容。 但是我觉得必须有更简单的方法。

$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语句

以更好的方式表示这个逻辑

2 个答案:

答案 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;
}

不是更好,但有时更容易阅读。