-2

在 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 问题的答案等。

4

2 回答 2

2

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

但可读性和清晰度绝对重要。对每个单独的条件进行嵌套 if 会使代码不必要地冗长,而一行中的许多语句会让人难以理解,因为长的水平语句看起来有点不清楚。我尝试将相关条件保留为多个 if 语句和具有不同概念的条件作为嵌套 if 语句。

于 2013-07-01T08:35:46.030 回答
1

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

在“正常”情况下,您不会看到嵌套与非嵌套的任何区别。如果您使用数百万个 if,您可能会看到细微的差别。

于 2013-07-01T08:36:45.430 回答