在php中,你可以使用嵌套的If结构,或者你可以使用&&组合条件。方法......在性能/效率方面有任何已知的差异吗? (已知/建立的是更快,或资源更少的资源等吗?)
嵌套:
if ($X == $Y) {
if ($N >= $P) {
if ($tt != true) {
// do something
}
}
}
或与AND结合:
if ($X == $Y && $N >= $P && $tt != true) {
// do something
}
我知道这似乎是重复的
PHP Nested Ifs vs Single If with Multiple Conditions
但那是因为它没有得到真正的回答(相反人们与Java中的东西相关联等)。
所以请不要将此标记为欺骗,或链接到非php问题的答案等。
答案 0 :(得分:2)
谈到效率,我认为两者都没有任何区别。即使一个行语句中的一个布尔决策为false,其余的决策也不会被评估,嵌套的if语句也会发生类似的事情。
但可读性和清晰度绝对重要。对于每个单独的条件进行嵌套将使代码不必要地冗长,而一行中的许多语句将使得难以遵循,因为长的水平语句看起来有点不清楚。我尝试将相关条件保持为多个if语句和具有不同概念的条件作为嵌套if语句。
答案 1 :(得分:1)
如果您遇到可能由if子句引起的性能问题,则不应使用像php这样的脚本语言,或者至少使用某种缓存(例如APC)。
在“正常”情况下,您将看不到嵌套与非嵌套的任何差异。如果你使用数百万的ifs,你可能会看到一个微小的差别。