PHP'否则返回'VS自动返回

时间:2012-12-19 02:24:34

标签: php function return

关于PHP函数,如果你不需要函数来返回BOOLEAN或STRING,那么在条件失败时声明return之间是否有区别,而不是让函数自动返回?

例如,

之间是否存在内部差异:

function check() {
    if( 5 > $v ) {
        die('yes');
    }
}

function check() {
    if( 5 > $v ) {
        die('yes');
    }
    else {
        return;
    }
}

显然,他们出现在“IF”条件失败时做同样的事情,但在内部,为了记忆,安全性,可用性或整体性,它比另一个更好最佳实践?

4 个答案:

答案 0 :(得分:10)

在内存或安全性方面,这些陈述没有有效的,真实的区别。没有,nada,zip,零。它们完全相同。保存附加操作码所需的几个字节是无关紧要的,如果您关心解析,标记和解释操作码所花费的时间,那么您正在参与微优化

就“可用性”而言,前者更为明显。从else返回愚蠢。如果我在实时代码中看到这一点,我会假设写这篇文章的人在这样做时会分心并清理它。

答案 1 :(得分:1)

在第二个示例中返回什么都不做,而不是增加解析器和编译器工作让读者混淆它的规则在代码中添加不必要的行并增加应用程序大小总计,最后它没有任何价值!

答案 2 :(得分:0)

我更喜欢第一个。它的装配线较少,因此效率稍高(二进制大小而非速度)。无论函数是什么,所有函数都在函数完成时定义一个返回地址,因此添加一个额外的返回只会使它添加一条额外的指令。

我发现它更具可读性和更常见。

答案 3 :(得分:0)

我认为前者更容易读取而后者只会给预处理器增加更多开销(并且膨胀到文件大小)。然而,它也清楚地表明该函数没有返回任何特定的东西(尽管函数名称或注释可以比逻辑分支更容易实现此目的。

我意识到并欣赏这些例子,但我会坚持简洁而简洁。

[/ IMHO]