在編碼的時候經(jīng)常有個困惑,判斷一個變量非空:
方式1:if($args){...do something..}
方式2:if(!empty($args)) {...do something...}
這兩種方式的效果一樣嗎,在執(zhí)行效率上哪種更好一些?
多謝解答!
大多數(shù)情況下!empty會更安全,它可以把unset變量作為參數(shù)的情況下也不會報錯,例如:
如果數(shù)組不存在元素2就會報錯。應該這樣寫
第二種方法下empty
能夠處理未定義的參數(shù),可以避免警告。另外empty
是指令而非函數(shù),運行效率并不會比第一種慢太多。
方式2:empty判斷非空值,空值包括
方式1: 涉及了類型轉(zhuǎn)換吧
第一種方法在$args
未定義的情況下會出現(xiàn)警告,在PHP中出現(xiàn)任何Error都會造成不小的性能損失,這主要是因PHP存在錯誤處理機制造成的。