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是==  不是===

 

转载于:https://www.cnblogs.com/dzjphp/p/6091700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值