×

phpinarray array

关于PHP in_array判定的疑问,请高手解答?php数组根据键名怎么合并呢

admin admin 发表于2022-06-30 00:19:57 浏览105 评论0

抢沙发发表评论

关于PHP in_array判定的疑问,请高手解答


这是因为在比较时,因为忽略了类型比较,为了和布尔型true比较,程序将‘b’转换为布尔型,值为true,所以结果为true
像这种情况还有很多
比如$test = 0;in_array(’b’, $test)也返回true;‘b’和0比较需要把‘b’转换为int型,所以转换为0,和0比较的true;
这都是因为忽略了类型的比较
in_array的第三个参数设为true,表示全等比较,也就是考虑类型

php数组根据键名怎么合并呢


//PHP内置函数有个array_merge可以做你想要的功能

//设你的第一个数组为$arr1,第二个数组为$arr2

《?php
function my_arraymerge($arr1,$arr2){
   for($i=0;$i《count($arr1);$i++){     //根据$arr1的长度,一个一个合并
       $result = array_merge($arr1[$i],$arr2[$i]);//$result是你想要的合并后的数组
   }
}
?》

//此函数的缺点是必须你给出的两个数组长度是一样,而且键名都是数字,并且你要合并的顺序也是要一样才可以


php in_array返回值得问题


在PHP的布尔类型中

echo false; #在HTML页面中不会有任何输出,属于空,可以用于判断,但是不可见
var_dump(false); #就能看到 bool(false),可见

echo true; #在HTML页面中会输出 1,可以用于判断
var_dump(true);  #就能看到 bool(true),可见

打印方式不同,判断是没有问题,只是不会输出 布尔类型的 false