我正在對我的代碼進行代碼審查,我的同事提出了上述問題。哪一種更有效的方法來檢查count()函數是否爲空
這是有效的:
代碼
if (count($arr) != 0) {
// *Code Here*
}
代碼B
if (count($arr) > 0) {
// *Code Here*
}
希望有人可以做一些解釋!
我正在對我的代碼進行代碼審查,我的同事提出了上述問題。哪一種更有效的方法來檢查count()函數是否爲空
這是有效的:
代碼
if (count($arr) != 0) {
// *Code Here*
}
代碼B
if (count($arr) > 0) {
// *Code Here*
}
希望有人可以做一些解釋!
由於count($arr)
表示陣列中元素的數量,並且陣列中元素的數量始終爲0或更高,因此count($arr) > 0
和count($arr) != 0
始終會生成完全相同的輸出。只要陣列不爲空,該輸出始終爲TRUE
;如果爲空,則輸出FALSE
。
關於性能,沒有明顯的差異。但是,您可以通過這樣做,而不是獲得一個小的性能優勢:
if (!empty($arr)) {
// *Code Here*
}
這裏,輸出也總是TRUE
,只要您的數組不爲空,並且FALSE
當它是空的。然而,它是不是昂貴的做一個測試是否數組是空的,而不是數組的元素數。
兩者都取得了相同的結果,並且它們之間沒有性能差異,所以每一個都是同樣正確的......您是否考慮過如果(!empty($ arr)){...}'這會稍微多一些雖然它仍然是一個微型優化 –
@MarkBaker可以提供很好的鏈接,所以我可以有更多關於微型優化的閱讀材料。 –
可能是你問他們的效率,而不是正確的,對嗎?你的頭銜和身體問題是不同的,這可能會混淆人們。 – manetsus