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

其实不算暗坑,有个特殊的地方,用的是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的暗坑》相关的博文:


留言

Admin Avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌