為什麼在 PHP 中 0==null 為 ture ?
phpcn_u1582
phpcn_u1582 2017-06-17 09:15:17
0
2
809

PHP

#
var_dump(0 == null)
//ture

javascript

console.log(0 == null)

//false

PHP 中為什麼0==null,0不是一個數值嗎?

phpcn_u1582
phpcn_u1582

全部回覆(2)
迷茫

原因是在PHP中變數是以C語言的結構體來儲存的,空字串和NULL,false都是以值為0儲存的.
null,0,false在不區分類型的情況下都判為邏輯假即false

过去多啦不再A梦

請參閱PHP手冊,下圖截取自PHP手冊

此表展示了PHP二元運算子對於運算子左右運算子所進行的處理。

可見,0 == null,一個運算子為數字,另一個運算子為null,符合表中的第二種情況,所以按照描述,兩邊同時被轉成相應的布爾值,也就是說0null都被轉成了false,這樣 false == false就是true

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板