【PHP】關於判斷式「 0 == ‘字串’」,PHP判斷為true的問題?

先講結論:PHP7會有這狀況產生,但PHP8已經改掉了,直接上圖片!

一、PHP7判定為true

二、PHP8判定為false

三、原因

  1. PHP7的判斷邏輯
    在做 「0=="some string"」判斷時,string轉成integer會變成0。變成0=="0",所以PHP7判定是一 樣的。
  2. PHP8的判斷邏輯
    就是很直觀的,數字0怎麼會是字串,直接給false!

四、建議

不論是PHP7還是PHP8,建議都用三個等號===來去做型別判斷,這樣也是比較嚴謹的做法唷~

參考網址 別人的網誌 請點我