2010-01-01 48 views
5

這兩個都會確保$ var是一個布爾值,但後者似乎更清晰。雙重感嘆號(!!)鍵入的時間較短,但不太清晰,更可能導致混淆。更不用說很難運行搜索來獲得答案。

雙重感嘆號是我在JavaScript中聽到的,它沒有布爾類型轉換。在PHP中使用它也是正常的嗎?

回答

3

這些在PHP中都不常見,因爲它們是不必要的。

如果你能做到!!,你可以也使用它,其中一個布爾表達式是必要的(whileif&&等)。

+0

我做錯了什麼,或者'echo'在php中沒有產生任何結果? – loveNoHate 2014-06-02 04:22:32

4

這是在JavaScript中有效,雖然技術上不是「演員」,它實現同樣的效果:

var booleanValue = Boolean(otherValueType); 

這相當於:

var booleanValue = !!otherValueType; 

,我覺得這是很好的做這在處理傳入的參數時,澄清了一個值是一個布爾值。在檢查「真實性」時,不需要在PHP或JavaScript中進行類型轉換。請記住,空字符串相當於PHP中的false和JavaScript中的true

所以,要回答你的問題,無論哪種語言都很好,它只是一種個人風格的選擇。

相關問題