if条件的效率-嵌套或使用AND方法


efficiency of if conditions - nested or using the AND method?

在php中,可以使用Nested If结构,也可以使用&方法在性能/效率方面有什么已知的差异吗?(是否已知/已建立的更快,或资源密集度更低等?)

嵌套:

if ($X == $Y) {
    if ($N >= $P) {
        if ($tt != true) {
            // do something
        }
    }
}

或与AND组合:

if ($X == $Y  &&  $N >= $P  &&  $tt != true) {
    // do something
}

我知道这似乎是
的副本PHP嵌套Ifs与具有多个条件的单个If的比较
但这是因为它并没有得到真正的回答(相反,人们与Java等中的事物联系在一起)

因此,请不要将其标记为欺骗,或链接到非php问题的答案等。

说到效率,我认为两者没有任何区别。即使一行语句中的一个布尔决策为false,也不会对其余决策进行评估,类似的情况也会发生在嵌套的if语句中。

但可读性和清晰度确实很重要。为每个单独的条件设置嵌套if将使代码变得不必要地冗长,而一行中的许多语句将使其难以遵循,因为长的水平语句看起来有点不清楚。我试图将相关条件保持为多个if语句,并将具有不同概念的条件保持为嵌套if语句。

如果您有可能由If子句引起的性能问题,您不应该使用php之类的脚本语言,或者至少使用某种缓存(例如APC)。

在"正常"情况下,嵌套与非嵌套不会有任何区别。如果你使用数百万个如果,你可能会看到一个微小的差异。