首页 > 代码库 > in_array 判断的一些见解
in_array 判断的一些见解
我个人见解in_array的判断是== 并不是=== 证明如下:
$arr=(array_merge(range(1, 9),range(‘a‘, ‘z‘),range(‘A‘, ‘Z‘)));
$mgz=array("o",0,"2","Z");
foreach ($arr as $k=> &$v) {
if(in_array($v,$mgz)){
$a=array_search($v, $mgz);
echo $a;
}else{
}
}
结果如下:
21111111111111101111111111111111111111111111111111111
返回的都是$mgz的下标1 就是整形 0
我的理解是 字符"a","B"这些自动转成整型是0 所以就true 给人一种假象 找到相同
如果$mgz都改成字符 $mgz=array("o","0","2","Z");
返回结果:203
字符转成"a","B" 不等于"0" 返回false;
以上的判断可以得出 in_array是== 不是===
in_array 判断的一些见解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。