“+”运算符和array_merge():array array_merge ( array array1, array array2 [, array ...] ) 都可以合并多个数组,但使用过程中有一点小区别。

array_merge在参考手册中的说明如下:
array_merge()将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
  两个的区别是:
  1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(注意:不是覆盖而是保留最先出现的那个值)。例子:

  $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 )

转自:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2008/1216/129.html

转载于:https://www.cnblogs.com/losesea/archive/2013/06/14/3135367.html

PHP合并数组array_merge函数运算符加号与的区别相关推荐

  1. php中合并数组的函数是,PHP合并数组函数array_merge用法分析

    本文实例讲述了PHP合并数组函数array_merge用法.分享给大家供大家参考,具体如下: 合并数组是把一个数组追加到另一个数组中,主要应用array_merge()函数实现 语法如下: array ...

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

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

  3. 【最完整】基于php合并数组的几种方式介绍以及区别

    php的数组合并方式主要有以下几种: 1.array_merge 2." + " 3.array_merge_recursive 4.array_combine array_mer ...

  4. php数组,foreach循环合并数组,array_merge()的循环用法

    比如我知道了三个一级分类的id,1,2,3 $arr1=array(1,2,3); 我要循环这三个分类,依次去数据库查询他们各自的子分类.结果是得到三个数组 现在想他所有子分类合并在一起.然后,再随机 ...

  5. php krsort重置索引,PHP数组处理函数举例

    在PHP中,存储在数组中的值成为数组元素,数组有一维数组和多维数组之分,每个数组元素的索引也称为关键字,访问数组元素可以通过索引.数组处理函数举例如下: 一.创建数组 1.使用array()函数创建数 ...

  6. php 数组处理函数,PHP数组处理函数举例

    在PHP中,存储在数组中的值成为数组元素,数组有一维数组和多维数组之分,每个数组元素的索引也称为关键字,访问数组元素可以通过索引.数组处理函数举例如下: 一.创建数组 1.使用array()函数创建数 ...

  7. php7数组合并,php合并数组的方法

    php中可以将两个或多个数组进行合并,生成一个合并后的新数组.这篇博文就讲一下关于PHP中合并数组的函数 array_merge(). PHP array_merge() 函数 array_merge ...

  8. php对数组进行合成的函数,php合并数组函数array_merge()

    array_merge()函数在php中是对数组进行合并的,可以把多个数组合成一个数组,并且不改变原数组的值了,但今天我在使用array_merge合并数组时碰到几个小细节上的问题,下面我举例子给各位 ...

  9. php合并数组,不使用函数array_merge()

    php合并数组函数: array_merge() 函数把一个或多个数组合并为一个数组. 提示: 您可以向函数输入一个或者多个数组. 注释: 如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他 ...

最新文章

  1. 以为精通Java 线程池,看到这些误区,还是年轻了...
  2. 10个必会的 PyCharm 技巧
  3. 打造微量元素产业-丰收节交易会·李喜贵:签约南国健康产业
  4. Git之深入解析Rerere重用记录的解决方案
  5. c语言control表题目,CMFCControl 问题
  6. 树形DP+树状数组 HDU 5877 Weak Pair
  7. Python刷题之路,怎样做才能让技术突飞猛进
  8. Ubuntu下超实用的命令
  9. 谈java的导入(import)
  10. 【转】Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示
  11. iOS-layoutSubvies和drawRect何时调用
  12. 淘宝 封住baidu的蜘蛛了吗?
  13. mysql表情存储报错问题
  14. 三星固态硬盘linux驱动,三星固态硬盘驱动NVMe Driver
  15. kernel32.dll动态链接库报错解决方法win7,怎么修复kernel32.dll文件缺失
  16. 统计学课程学习【理论】数据的图标展示
  17. ASP.NET Core 运行原理解剖[2]-Hosting补充之配置介绍
  18. ThinkPHP5分页样式
  19. 反斜杆e,Linux下五彩斑斓的命令行输出
  20. 一种使用内存做硬盘的方法,提升读写速度

热门文章

  1. 语言 提取列名_学习健明老师发布的R语言练习题的学习笔记(二)
  2. android 最新usb驱动程序下载,安卓手机USB驱动官方下载、安装教程
  3. c语言编程 三角波,周期矩形波、周期锯齿波、周期三角波,C语言程序.doc
  4. Property ‘configuration‘ and ‘configLocation‘ can not specified with together
  5. 栈----生产者消费者实例
  6. 031_MessageBox弹框
  7. Java基础:基本数据类型包装类
  8. DisplayMetrics
  9. ue4 rpc php,UE4 RPC在C++中的使用简例
  10. python 拼多多秒杀_关于 拼多多笔试题-简单易懂的秒杀服务