搜尋

首頁  >  問答  >  主體

為什麼在 PHP 中 0==null 為 ture ?

PHP

#
var_dump(0 == null)
//ture

javascript

console.log(0 == null)

//false

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

phpcn_u1582phpcn_u15822746 天前842

全部回覆(2)我來回復

  • 迷茫

    迷茫2017-06-17 09:17:17

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

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-17 09:17:17

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

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

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

    回覆
    0
  • 取消回覆