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