in_array|in_array 使用中遇到的问题

in_array 这个函数用来检查数组中是否存在某个值
实际使用中可能会出现这样一个问题

$test = 'a'; $arr = [0,1,2,3,4,5,6,7,8,9]; if(in_array($test, $arr)){ echo "in"; }else{ echo "no"; }

这时候我们得到的结果是in
得到这个结果的原因是php在比较数字和字符串的时候,会把字符串转换成数字来进行比较,字符串a被转换成了0
不想要这样的结果,那就采用严格比较模式添加第三个参数为true
$test = 'a'; $arr = [0,1,2,3,4,5,6,7,8,9]; if(in_array($test, $arr, true)){ echo "in"; }else{ echo "no"; }

【in_array|in_array 使用中遇到的问题】返回no
php的灵活性有时候还是会带来一些小问题的,所以平时还要注意。

    推荐阅读