数组合并array_merge函数与“+”的区别

一、array1+array2

可以把他叫做数组的“补充合并”:

不管是数字下标还是字符串下标,当前面数组中下标元素不存在时,把后面数组元素补充进来;

当前面数组下标已存在,不需要补充了,抛弃掉后面数组元素,最终结果使用前面的数组元素;

如:

$array1 = [0, 1 => 1, 'two' => 2];
$array2 = [0, 1 => '一', 'two' => '二', 'three' => '三'];

print_r($array1 + $array2);

//打印结果为:
//Array ( [0] => 0 [1] => 1 [two] => 2 [three] => 三 )

 

二、array_merge(array1, array2)

有两种情况,数字下标和字符串下标处理不一样

字符串下标:覆盖合并,当下标相同时,后面数组元素覆盖前面数组元素;

数字下标:追加合并,不会覆盖,会把两个数字的元素简单的追加在一起,并重置下标;

$array1 = [0, 1 => 1, 'two' => 2];
$array2 = [0, 1 => '一', 'two' => '二', 'three' => '三'];

print_r(array_merge($array1, $array2));
//输出:Array ( [0] => 0 [1] => 1 [two] => 二 [2] => 0 [3] => 一 [three] => 三 )

//1,字符串下标“two”元素被array2覆盖了
//2,数字下标的array1的元素“0”, “1 => 1”和array2的元素“0”,“1 => '一'”都在,并重置了下标

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值