2014-02-18 59 views
3

這裏的簡單問題。只是想知道是否有什麼東西可以從這段代碼中學習,不知道。PHP int比較 - 爲什麼首先給變量加0?

發現這在一些遺留代碼...從來沒有見過它,在網上找不到任何關於它的事情,開發人員已經離開了。

if ($row['cnt']+0 !== $count+0) { 
    // log warnings etc 
} 

我的猜測是......不,其實我沒有關於爲什麼是零比較之前加入到變量很好的猜測。有任何想法嗎?

感謝您分享您的想法。

+0

這對我來說絕對沒有意義。 – snollygolly

+0

它在測試之前將變量轉換爲整數。 PHP是弱類型的。 – phaedra

+0

這是一種強制轉換爲整數的方法 –

回答

1

它只是一個老辦法做INT轉換:

php > var_dump('112'+0); 
int(112) 

屆時方式:

php > echo ("0012"+0 === "12"+0)? "yay!" : "booh!"; 
yay! 

其純正的垃圾桶,但工作時,正確的做法是這樣的:

php > var_dump((int)"324"); 
int(324)