php 的in_array()函数问题

$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对变量类型很宽容,但在“现实生活”中几乎无用。

array_search函数一样判断有问题,如果是

$a = [1,2,0,3];
$b = array_search('hello',$a);
var_dump($b);// 2,刚好就是0所在的下标

var_dump() 函数:
https://www.runoob.com/php/php-var_dump-function.html


$a = [0,1,2,3];
//$b = (in_array('hello',$a));
$b = (in_array('hello',$a,true));
//第三个参数,true