鍍金池/ 問(wèn)答/PHP  HTML/ 0與1什么情況下會(huì)返回true?

0與1什么情況下會(huì)返回true?

今天碰到一個(gè)bug怎么都解決不了,回去打印代碼,居然發(fā)現(xiàn)一個(gè)讓我折騰半天無(wú)法理解的地方,

貼上部分代碼:

clipboard.png

clipboard.png

上述$data的值是從spray_type()中取的,$val是從外部傳過(guò)來(lái)的一個(gè)參

結(jié)果:

clipboard.png

這是怎么回事?想不通呀,有人知道嗎

附上var_dump內(nèi)容:

clipboard.png

回答
編輯回答
大濕胸

$item[$valueParam]是int,$val是string,而你使用2個(gè)等於符號(hào)( == )會(huì)忽略類型檢查,同時(shí)進(jìn)行類型轉(zhuǎn)換,string會(huì)轉(zhuǎn)換成數(shù)值'0' ,所以就返回true。

使用 === 或 !== 則不會(huì)進(jìn)行類型轉(zhuǎn)換。

參考:
http://php.net/manual/en/lang...

2018年6月13日 16:50
編輯回答
毀了心

1.代碼貼全
2.前兩個(gè)別echo,類型打印出來(lái)

2017年12月14日 05:59