条件陈述中的概率

时间:2012-07-16 15:56:39

标签: php if-statement conditional-statements

让我们取一个名为someInt的变量,它可能有任何数值。我们需要检查它是否为0。

if($someInt!=0) {
  // someInt is not 0, this is the most probable
} else {
  // someInt is 0.
}

//VS

if($someInt==0) {
  // highly unlikely... perform a jump
} else {

}

哪种方式更优化?有没有区别(除了可读性)?

我想知道另一种相关的事情:我习惯用这种方式检查数组:

if($myArray.length != 0) {

}
 // instead of
if($myArray.length > 0) {

}

注意“!=”。由于array.length只能是0或大于0,“!=”检查是否更优化? 我问这个是因为我总是在Visual Basic 6中这样做,它显然在那里工作得更快。其他语言怎么样?

2 个答案:

答案 0 :(得分:3)

最可能的条件应该在顶部。这样,解析器就会跳过可能性较小的情况,并且会得到一个过度优化的应用程序。

你的第二个问题是微优化。我怀疑它在性能方面会有所不同。

答案 1 :(得分:0)

对于if语句,if语句中你应该更高的情况下,从可读性点来看,这更有意义,从性能点来看也是如此。至于数组部分$ array.length> 0更具可读性。但是,性能不应该是一个问题,因为不应该经常调用,最好是缓存结果而不是经常检查数组长度。