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";
}
返回no
php的灵活性有时候还是会带来一些小问题的,所以平时还要注意。
网友评论