PHP
#var_dump(0 == null)
//ture
javascript
console.log(0 == null)
//false
PHP 中為什麼0==null,0不是一個數值嗎?
迷茫2017-06-17 09:17:17
原因是在PHP中變數是以C語言的結構體來儲存的,空字串和NULL,false都是以值為0儲存的.
null,0,false在不區分類型的情況下都判為邏輯假即false
过去多啦不再A梦2017-06-17 09:17:17
請參閱PHP手冊,下圖截取自PHP手冊
此表展示了PHP二元運算子對於運算子左右運算子所進行的處理。
可見,0 == null
,一個運算子為數字,另一個運算子為null
,符合表中的第二種情況,所以按照描述,兩邊同時被轉成相應的布爾值,也就是說0
和null
都被轉成了false
,這樣 false == false
就是true
。