php学习之 array_merge与操作符+号的区别

本文探讨了PHP中的array_merge函数与+操作符在合并数组时的不同行为。array_merge会合并字符串键名的数组,数字键名不合并且后面数组的值会覆盖前面的。而+操作符则会合并所有相同键名的值,前面的值覆盖后面的,且不重建索引。通过示例代码和输出结果,展示了两者在实际应用中的差异。
摘要由CSDN通过智能技术生成

先来看看array_merge的手册说明,总结一下有四点(1):合并那些键名是相同字符串的,注意是字符串的,而且这个字符串不能是纯数字,‘2’,‘1’不能算在此列;(2):相同数字键名的,不会合并,而是附加到后面;(3):后面数组的值覆盖后面的;(4):索引会进行重建;

而操作+号就不一样了,显得有些简单粗暴,总结一下有(1):合并相同键名的值,键名不论是字符串还是数字,只要相同就合并;(2):前面的值覆盖后面的饿;(3):不会重建索引。

借用一下手册上面的例子:

<?php

$x1 = array (

   '1'     => 'Value 1',

   '2'   => 'Value 2',

);

 

$x2 = array (

   '2'     => 'Value 3',

   '4'   => 'Value 4',

);

 

$x3 = array_merge( $x1, $x2 );

 

echo '<pre>array_merge: '. print_r($x3, true ) .'</pre>';

 

$x3 = $x1 + $x2;

 

echo '<pre>operator +: '. print_r($x3, true ) .'</pre>';

 

输出结果如下

array_merge: Array

(

   [0] => Value 1

   [1] => Value 2

   [2] => Value 3

   [3] => Value 4

)

operator +: Array

(

   [1] => Value 1

   [2] => Value 2

   [4] => Value 4

)

总结一下,+或许和我们普通理解的融合更切合一些,而array_merge考虑的就比较多一些,使用的时候要多多注意一些,下面就用下面这张图做结尾了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值