php用加号和用array_merge合并数组的区别

本文对比了PHP中使用array_merge和加号操作符合并数组的方法,展示了它们在处理不同键名和键值时的行为差异。通过示例代码,详细解释了如何使用这两种方法合并数组,并分析了它们对数组结构的影响。
我们首先给出两个数组
  1. <?php  
  2.  $r = array(1,2,3,4,5,6);  
  3.  $e = array(7,8,9,10);  
  4. ?>  

下面我们用array_merge和加号来何必这两数组
  1. <?php  
  2. print_r($r+e); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) </span>  
  3. print "<br />";  
  4. print_r(array_merge($r,$e)); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )</span>  
  5. ?>  

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉


下面我们来改变下前面给出的数组

  1. <?php  
  2.  $r = array('r'=>1,2,3,4,5,6);  
  3.  $e = array(<span style="background-color: rgb(245, 250, 255); ">'r'=></span>7,8,9,10);  
  4. ?>  

  1. <?php  
  2. print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 )  
  3. print "<br />";  
  4. print_r(array_merge($r,$e)); // 输出Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )  
  5. ?>  
从这里可以看出,用array_merge合并数组 一个数组中的值附加在前一个数组的后面。如果非数字键名相同 ,则后面数组的值会覆盖前面数组的值。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值