php怎样实现数组合并但键值相同的数组不互相覆盖
数组合并array_merge($arr1,$arr2)和数组相加$arr1+$arr2的区别:
数字索引数组:
array_merge:合并生成的数组的索引统一从0开始,所以不存在覆盖的情况.
"+"操作符:不改变数字索引,如果索引已经存在,则跳过该元素.
字符索引数组:
array_merge:如果两个数组存在相同的键,后面的一个会覆盖前面的.
"+"操作符:如果两个数组存在相同的键,前面的一个会覆盖后面的.\u0026lt;?php$arr1 = array(\u0026#39;k1\u0026#39; =\u0026gt; \u0026#39;a\u0026#39;, \u0026#39;k2\u0026#39; =\u0026gt; \u0026#39;b\u0026#39;);$arr2 = array(\u0026#39;k1\u0026#39; =\u0026gt; \u0026#39;c\u0026#39;, \u0026#39;k2\u0026#39; =\u0026gt; \u0026#39;d\u0026#39;);var_export(array_merge($arr1, $arr2)); // array(\u0026#39;k1\u0026#39; =\u0026gt; \u0026#39;c\u0026#39;, \u0026#39;k2\u0026#39; =\u0026gt; \u0026#39;d\u0026#39;)var_export($arr1 + $arr2); // array(\u0026#39;k1\u0026#39; =\u0026gt; \u0026#39;a\u0026#39;, \u0026#39;k2\u0026#39; =\u0026gt; \u0026#39;b\u0026#39;)?\u0026gt;\u0026lt;?php$arr1 = array(0 =\u0026gt; \u0026#39;a\u0026#39;, 1 =\u0026gt; \u0026#39;b\u0026#39;);$arr2 = array(0 =\u0026gt; \u0026#39;c\u0026#39;, 1 =\u0026gt; \u0026#39;d\u0026#39;);var_export(array_merge($arr1, $arr2)); // array (0 =\u0026gt; \u0026#39;a\u0026#39;, 1 =\u0026gt; \u0026#39;b\u0026#39;, 2 =\u0026gt; \u0026#39;c\u0026#39;, 3 =\u0026gt; \u0026#39;d\u0026#39;)var_export($arr1 + $arr2); // array (0 =\u0026gt; \u0026#39;a\u0026#39;, 1 =\u0026gt; \u0026#39;b\u0026#39;)?\u0026gt;所以,楼主举例的情况,用array_merge即可.
■网友array_replace_recursive()array array_replace_recursive ( array $array1 , array $array2 )
■网友/** * @author 昌维\u0026lt;867597730@qq.com\u0026gt; * @param array* @return array*/ function array_add($a1,$a2){\t$n = 0;\tforeach ($a1 as $key =\u0026gt; $value) {\t\t$re = $value;\t\t$n++;\t}\tforeach ($a2 as $key =\u0026gt; $value) {\t\t$re = $value;\t\t$n++;\t}\treturn $re;}用这个函数,a1和a2就是要合并的两个数组,返回合并后的数组
■网友
【php怎样实现数组合并但键值相同的数组不互相覆盖】 array_replace_recursive()

■网友
换个存法\u0026lt;?php$a = array( array(0, \u0026#39;a\u0026#39;), array(1, \u0026#39;b\u0026#39;));$b = array( array(0, \u0026#39;c\u0026#39;), array(1, \u0026#39;d\u0026#39;));var_dump(array_merge($a, $b));/*array(4) { =\u0026gt; array(2) { =\u0026gt; int(0) =\u0026gt; string(1) "a" } =\u0026gt; array(2) { =\u0026gt; int(1) =\u0026gt; string(1) "b" } =\u0026gt; array(2) { =\u0026gt; int(0) =\u0026gt; string(1) "c" } =\u0026gt; array(2) { =\u0026gt; int(1) =\u0026gt; string(1) "d" }}*/
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 北京22家市属医院均开展安检基本实现重点区域安检措施全覆盖
- 长江流域渔民退捕“上岸”实现扩产新致富
- 实现“甜蜜计划”,这对中哈跨国夫妻好甜
- 北京地铁11号线西段三座车站提前实现主体结构封顶
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
