当使用in_array()或array_search()函数时,如果$strict参数没有设置为true,则将使用松散比较来判断$needle是否在$haystack中.

下面是in_array()或array_search函数在没有设置$strict参数时的执行结果

$arr = [0,1,2,'3'];
var_dump(in_array('abc', $arr, true));//true
var_dump(array_search('abc', $arr, true));//0:下标
var_dump(in_array('1bc', $arr));//true
var_dump(array_search('1bc', $arr));//1:下标

建议在使用者两个函数时将$strict的值设为true,这样两个函数就会严格地比较$needles的类型与$haystack中的类型是否相同,以避免一些安全问题。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐