让我们取一个名为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中这样做,它显然在那里工作得更快。其他语言怎么样?
答案 0 :(得分:3)
最可能的条件应该在顶部。这样,解析器就会跳过可能性较小的情况,并且会得到一个过度优化的应用程序。
你的第二个问题是微优化。我怀疑它在性能方面会有所不同。
答案 1 :(得分:0)
对于if语句,if语句中你应该更高的情况下,从可读性点来看,这更有意义,从性能点来看也是如此。至于数组部分$ array.length> 0更具可读性。但是,性能不应该是一个问题,因为不应该经常调用,最好是缓存结果而不是经常检查数组长度。