0与1什么情况下会返回true?

今天碰到一个bug怎么都解决不了,回去打印代码,居然发现一个让我折腾半天无法理解的地方,

贴上部分代码:

clipboard.png

clipboard.png

上述$data的值是从spray_type()中取的,$val是从外部传过来的一个参

结果:

clipboard.png

这是怎么回事?想不通呀,有人知道吗

附上var_dump内容:

clipboard.png

阅读 3k
2 个回答

$item[$valueParam]是int,$val是string,而你使用2個等於符號( == )會忽略類型檢查,同時進行類型轉換,string會轉換成數值'0' ,所以就返回true。

使用 === 或 !== 則不會進行類型轉換。

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

1.代码贴全
2.前两个别echo,类型打印出来

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题