2012-08-30 81 views
0

我想弄清楚PHP運行時檢查類型/對象的順序。所以我可以成爲一個更好的編碼器。謝謝PHP運行時類型檢查

哪種類型先做php檢查。它是否驗證對象是否是布爾首先?空值?陣列?

其更快:

if (ID != null) 

if (ID !== false) 

if (ID == 0) 

回答

2

這些微優化。你的時間會花在更好地優化別的東西上。

我不確定是否有任何比較,但檢查出http://www.phpbench.com

此外,你可以看看http://php.net/manual/en/types.comparisons.phphttp://php.net/manual/en/language.operators.precedence.php,雖然他們不給你基準。

同樣,你的時間可能會花在更好地專注於優化別的東西。

+0

我非常贊同關於這是一個微優化的評論。我還想補充一點,就操作順序而言,我不清楚你的意思。每個動作都將按腳本中調用的順序進行。你提出的三個條件分別針對不同的事物。我認爲最重要的是注意鬆散(即==和'!=')與嚴格(==='&==!')比較可能會出現完全不同的行爲(並且在某些情況下會出現意想不到的行爲對那些新來的PHP)。你應該真的研究那裏的差異 - 它比哪個更快更重要。 –

+0

@Mike,我知道在python編譯器總是檢查對象是否首先鍵入布爾。例如, 如果None:比False慢一些:我的問題是做php做同樣的事情? – James

+0

@simshaun我想微代碼優化我的代碼。如果我知道哪種方式更好,我會將其應用到我的編碼實踐中。因此,我可以隨時編寫優化的代碼。 – James