试图理解并重写嵌套的if / else

我继承了一个包含很多PHP速记的脚本。由于可读性,我通常不喜欢PHP速记,并且在偶尔的简单三元操作之外没有太多经验。

我遇到了一个像这样的结构块。块更大,但这是要点...

if ($foo)
    $bar = true;
else
    if ($bar)
    $baz = true;
else
    $barbaz = true;

这是重写它的正确方法,因此它更具可读性吗?

if ($foo) {
    $bar = true;
} else {
    if ($bar) {
        $baz = true;
    }
} else {
    $barbaz = true;
}

编辑

这是另一个例子

if ($foo)
    $bar = true;
else
    if ($bar)
    $baz = true;
else
    if ($barbaz)
    $something = true;
else
    $barbaz = true;

When I turned the else if into elseif the script broke.

评论
  • zet
    zet 回复

    你可以用

    $foo = 2;
    $bar = 3;
    if ($foo > $bar) {
        $baz = 'Greater';
    } elseif ($foo === $bar) {
        $baz = 'Equal';
    } else {
        $baz = 'Less';
    }
    print $baz;
    

    This combines the nested if into an elseif, improving readability.