在PHP中链接三元运算符

时间:2016-04-27 11:39:15

标签: php formatting refactoring

我有很多这样的遗留代码:

return isset($a) ? $a : isset($b) ? $b : isset($c) ? $c : isset($d) ? $d : isset($e) ? $e : '';

所以它只是链式三元运算符。 它有效,但大多数变量名不是$ a,而是$ veryLongAndDescriptiveCorporateVariableNames,这对我来说是不可读的。

有没有更好的方法来重构这个?我尝试过类似的东西,但我不知道它是否是最好和最易读的方式:

    $ar = array(
        $a,
        $b,
        $c,
        $d,
        $e
    );

    foreach ($ar as $k => $v)
        if (isset($v)) 
            return $v;
    return '';

1 个答案:

答案 0 :(得分:0)

工作正常: -

$ar = array(
        $a,
        $b,
        $c,
        $d,
        $e
    );

    foreach ($ar as $k => $v)
    {
        echo (isset($v)) ? $v : '';
    }
相关问题