2015-02-02 2 views
1

У меня есть код ниже, который делает что-то, если два значения истинны, что-то другое, если одно из двух истинно, что-то другое, если другое истинно и что-то еще, если они не являются истинными. Однако я чувствую, что должен быть какой-то более простой способ.PHP упростить, если инструкции else

$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 
} 

Есть ли способ, эта логика может быть представлена ​​в лучшую сторону с меньше, если/иначе

+1

Нет, лучшего способа нет, поскольку вы используете 2 переменные. –

+0

Это уже упрощено. Теперь для дальнейшего упрощения. –

ответ

0

Вы можете сделать инлайн условие, которое выглядит следующим образом:

$value1 = true; 
$value2 = false; 

($value1 && value2)? do 1 : ($value)? do 2 : ($value2)? do 3 : do 4; 

Это не лучше путь, но это еще один способ сделать это :)

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

Не лучше, но иногда легче читать.

Смежные вопросы