$a = [0,1,2,3];
$b = (in_array('hello',$a));
var_dump($b);//返回true;(为什么会返回true)
$a = [1,2,3];
$b = (in_array('hello',$a));
var_dump($b);//返回false;
用array_search函数比较好;
$a = [0,1,2,3];
$b = (in_array('hello',$a));
var_dump($b);//返回true;(为什么会返回true)
$a = [1,2,3];
$b = (in_array('hello',$a));
var_dump($b);//返回false;
用array_search函数比较好;
PHP: in_array - Manual
https://www.php.net/manual/en/function.in-array.php
文档中的第一个用户提交的笔记中有说过:当与某些数组一起使用时,松散检查返回一些疯狂的、反直觉的结果。这是完全正确的行为,因为PHP对变量类型很宽容,但在“现实生活”中几乎无用。
array_search函数一样判断有问题,如果是
$a = [1,2,0,3];
$b = array_search('hello',$a);
var_dump($b);// 2,刚好就是0所在的下标