【发布时间】:2015-02-13 14:15:44
【问题描述】:
我有一个变量需要根据两个条件分配四个可能值之一。
目前我正在这样做:
if (conditionsOne) {
$foo = (conditionTwo) ? 'one' : 'two';
} else {
$foo = (conditionTwo) ? 'three' : 'four';
}
但是,恕我直言,这略微伤害了编程的“黄金法则”,即“永远不要两次编写相同的代码”(如果有人更改了 conditionTwo 并忘记更改另一个 conditionTwo,我们就有错误)。
我也可以把它写成一个嵌套的三元,但这也需要两倍的条件,而且可读性较差。
在 PHP 中有什么方法可以在不加倍代码的情况下进行这样的赋值(因此对于相同的条件不需要检查两次)并且不影响可读性?
【问题讨论】:
标签: php boolean conditional-statements variable-assignment