2019独角兽企业重金招聘Python工程师标准>>>

两个的区别是:

1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉;使用array_merge()会以连续方式从0重新索引,即后面的值将不会覆盖原来的值,而是附加到后面 。

例子:

  $array1 = array(1=>'0');
  $array2 = array(1=> "data");
     $result1 = $array2 + $array1;/*结果为$array2的值*/
     print_r($result);
     $result = $array1 + $array2 ;/*结果为$array1的值*/
     print_r($result);
     $result3 = array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/
     print_r($result3);
     $result4 = array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/
     print_r($result4);

输出结果为:
Array ( [1] => data )
Array ( [1] => 0 )
Array (
[0] => data
[1] => 0
)
Array
(
[0] => 0
[1] => data
)

2.当相同数组键名为字符时,“+”运算符与键名为数字时一样,但array_merge()此时会覆盖掉前面相同键名的值。
例子:
    $array1 = array('asd'=>'0');
  $array2 = array('asd' => "data");
    $result1 = $array2 + $array1;/*结果为$array2的值*/
    print_r($result);
    $result = $array1 + $array2 ;/*结果为$array1的值*/
    print_r($result);
    $result3 = array_merge($array2,$array1);/*结果为$array1*/
    print_r($result3);
    $result4 = array_merge($array1,$array2);/*结果为$array2*/
    print_r($result4);

输出结果为:

Array ( [asd] => data )
Array ( [asd] => 0 )
Array ( [asd] => 0 )
Array ( [asd] => data )

转载于:https://my.oschina.net/ganfanghua/blog/882137

array_merge与array+array的区别相关推荐

  1. PHP中array_merge和array相加的区别分析

    首先来看看键名是string,两者区别: <?php $arr1 = array('a'=>'PHP'); $arr2 = array('a'=>'JAVA'); //如果键名为字符 ...

  2. PHP中array_merge函数与array+array的区别

    在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 1当下标为数值时,array_m ...

  3. php 通过array_merge()和array+array合并数组的区别和效率比较

    众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数.另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢? array_merge() ...

  4. PHP array_flip() array_merge() array+array的使用总结

    array_flip(array); //传递一个数组参数,对该数组的键.值进行翻转 例如: $a = array('a','b','c' ); print_r(array_flip($a));//输 ...

  5. java中Array和ArrayList区别 可以将 ArrayList想象成一种会自动扩增容量的Array

    java中Array和ArrayList区别 1)精辟阐述: 可以将 ArrayList想象成一种"会自动扩增容量的Array https://blog.csdn.net/ywjy10280 ...

  6. Array和ArrayList区别

    Array和ArrayList区别 Array 在C#中的数组也是对象,实际上是Array类的实例. 主要区别 Array类型的变量在声明的同时,必须进行实例化,至少是初始化数组的大小,而 Array ...

  7. 解析C#中[],List,Array,ArrayList的区别及应用

    一:区别 [] 特定类型 固定长度的 int[] arr = new int[] { 1, 2, 3 };   List 特定类型 任意长度 List<int> list = new Li ...

  8. HashMap 和 Array 有什么区别?

    HashMap 和 Array 有什么区别? 查找效率 HashMap因为其根据hashcode的值直接算出index,所以其查找效率是随着数组长度增大而增加. ArrayMap使用的是二分法,当数组 ...

  9. array,array.array,np.array的区别

    list.array.array.numpy.array的区别 list,不限定数据类型.使用起来非常灵活,但带来的缺点是速度相对较慢,因为对每一个元素要检查数据类型: myList = [i for ...

  10. LeetCode 26 Remove Duplicates from Sorted Array [Array/std::distance/std::unique] c++

    LeetCode 26 Remove Duplicates from Sorted Array [Array/std::distance/std::unique] <c++> 给出排序好的 ...

最新文章

  1. CIO的职业之路应该朝向何方 做主角还是配角?
  2. 刘启成_编写并使用shell脚本
  3. FTPHelper-FTP帮助类,常用操作方法
  4. nvme通用驱动_对领域驱动设计的理解与实践
  5. BZOJ 2763: [JLOI2011]飞行路线 spfa dp
  6. mysql5.7.26修改账号密码_修改mysql5.7的用户密码
  7. [转]关于Linux下时间片分配给进程还是线程的问题
  8. 微服务化的基石--持续集成
  9. Oracle11g常用数据字典(转)
  10. is not allowed for source level below 1.7 的解决办法
  11. 程序员的职业素养---转载
  12. [2018.07.17 T2] Palindromes
  13. html 页面加载中 请稍候,html 提示“数据在加载中,请稍后……”
  14. Java开发工程简历模板
  15. 感冒为什么会流鼻涕?
  16. huge形式_Linux hugepage使用与实现
  17. Hibernate ORM - 一对多双向关联关系(我是韦小宝)
  18. 连平县新视界-连平2018年公开招聘教职员66人
  19. 2022年化工自动化控制仪表考试总结及化工自动化控制仪表模拟考试
  20. 职场智慧:君子应处木雁之间,当有龙蛇之变

热门文章

  1. Eclipse+Maven配置
  2. android:onClick attribute
  3. 简单聊聊Glide的内存缓存
  4. c++学习笔记之数组及vector
  5. 编写Nginx启停服务脚本
  6. 查找、移除某个视图上的某类控件
  7. iOS开发——手机号,密码,邮箱,身份证号,中文判断
  8. context 的理解
  9. 自学Java和Java培训班的学习效果
  10. Flex 幻灯片播放