PHP 中 in_array 需要注意的一点

398 查看

示例

先来看一个小示例:

$needle = '1abc';
$haystack = array(1,2,3);
var_dump(in_array($needle, $haystack); 
//输出为 true

解释

根据官方文档函数 in_array 的描述:

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

在 haystack 中搜索 needle,如果没有设置 strict 则使用宽松的比较。

第三个参数默认为 false,当 $needle 和 $haystack 中的元素比较时会进行类型转换,相当于使用 == 进行比较。

总结

in_array()第三个参数决定变量和数组中元素如何进行比较。值为 false(默认值)时,相当于 ==,值为 true 时,相当于 ===。