我正在对我的同伴进行代码审查,我的同行提出了上述问题。
哪个有效:
代码A
if (count($arr) != 0) {
// *Code Here*
}
代码B
if (count($arr) > 0) {
// *Code Here*
}
希望有人可以做一些解释!
答案 0 :(得分:2)
由于count($arr)
表示数组中元素的数量,并且数组中元素的数量始终为0或更高,因此count($arr) > 0
和count($arr) != 0
始终生成完全相同的输出。每当数组不为空时,该输出始终为TRUE
;当数组为空时,该输出始终为FALSE
。
在表现方面,没有明显的差异。但是,您可以通过以下方式获得较小的性能优势:
if (!empty($arr)) {
// *Code Here*
}
此处,只要数组不为空,输出也始终为TRUE
,而当数组为空时,输出也为FALSE
。但是,测试一个数组是否为空而不是计算数组元素的数量是不是昂贵的。