Site icon 时鹏亮的Blog

PHP in_array 字符串和0的暗坑

请知悉:本文最近一次更新为 5年 前,文中内容可能已经过时。

其实不算暗坑,有个特殊的地方,用的是in_array检测值是否在数组中,数组赋值:

$arr=array("",0);

那么,下面的代码结果是什么?

var_dump(in_array("test",$arr));

实际结果是,true。因为字符串==0,是true。

回到函数,只有启用了第三个严格模式的参数,才能得到预期的false。怀疑严格模式就是类似绝对等于的比较。

in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : bool

记录下这个由辰吉同学发现的暗坑,没有测试的话,这个问题我可能一直无法发现,感谢测试同学的细心。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《PHP in_array 字符串和0的暗坑》相关的博文:

Exit mobile version