为什么有些省略了else语句?

时间:2012-07-10 04:45:19

标签: php logic

让我们说一个例子我有这个功能:

function isValid($premise){
    if($premise == 'foo')
    {
        return true;
    }

    return false;
}

正如您所看到的,else语句被省略,否则紧接着是return语句。为什么有些人会省略它们?这是一个糟糕的编程习惯吗?

3 个答案:

答案 0 :(得分:5)

无论是否有else,都会生成相同的代码。这是风格和偏好的问题。

在长函数开始时检查某些条件时,我个人倾向于省略else

我不认为这是不好的做法。在某些情况下,它可以提供更清晰的代码。

答案 1 :(得分:3)

在这两种情况下,行为和运行时完全相同 - 它纯粹是一种风格选择。

也许请尝试programmers.stackexchange.com进一步讨论哪种风格更好。

答案 2 :(得分:1)

因为return会终止/中断函数。

如果if条件执行,则返回true,然后通过返回true来终止函数。 如果if没有运行,那么它将继续返回false。

在您的代码中

function isValid($premise){
    if($premise == 'foo')
    {
        return true;//terminated the function and no more function is going to run
    }

    return false;//if it is running then it is very clear that if condition has not run because if it would have run then the if condition didn't run    }