先講結論:PHP7會有這狀況產生,但PHP8已經改掉了,直接上圖片!
一、PHP7判定為true
二、PHP8判定為false
三、原因
- PHP7的判斷邏輯
在做 「0=="some string"」判斷時,string轉成integer會變成0。變成0=="0",所以PHP7判定是一 樣的。 - PHP8的判斷邏輯
就是很直觀的,數字0怎麼會是字串,直接給false!
四、建議
不論是PHP7還是PHP8,建議都用三個等號===來去做型別判斷,這樣也是比較嚴謹的做法唷~
參考網址 別人的網誌 請點我