PHP合并数组array_merge函数运算符加号与的区别
“+”运算符和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函数运算符加号与的区别相关推荐
- php中合并数组的函数是,PHP合并数组函数array_merge用法分析
本文实例讲述了PHP合并数组函数array_merge用法.分享给大家供大家参考,具体如下: 合并数组是把一个数组追加到另一个数组中,主要应用array_merge()函数实现 语法如下: array ...
- PHP中array_merge函数与array+array的区别
在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 1当下标为数值时,array_m ...
- 【最完整】基于php合并数组的几种方式介绍以及区别
php的数组合并方式主要有以下几种: 1.array_merge 2." + " 3.array_merge_recursive 4.array_combine array_mer ...
- php数组,foreach循环合并数组,array_merge()的循环用法
比如我知道了三个一级分类的id,1,2,3 $arr1=array(1,2,3); 我要循环这三个分类,依次去数据库查询他们各自的子分类.结果是得到三个数组 现在想他所有子分类合并在一起.然后,再随机 ...
- php krsort重置索引,PHP数组处理函数举例
在PHP中,存储在数组中的值成为数组元素,数组有一维数组和多维数组之分,每个数组元素的索引也称为关键字,访问数组元素可以通过索引.数组处理函数举例如下: 一.创建数组 1.使用array()函数创建数 ...
- php 数组处理函数,PHP数组处理函数举例
在PHP中,存储在数组中的值成为数组元素,数组有一维数组和多维数组之分,每个数组元素的索引也称为关键字,访问数组元素可以通过索引.数组处理函数举例如下: 一.创建数组 1.使用array()函数创建数 ...
- php7数组合并,php合并数组的方法
php中可以将两个或多个数组进行合并,生成一个合并后的新数组.这篇博文就讲一下关于PHP中合并数组的函数 array_merge(). PHP array_merge() 函数 array_merge ...
- php对数组进行合成的函数,php合并数组函数array_merge()
array_merge()函数在php中是对数组进行合并的,可以把多个数组合成一个数组,并且不改变原数组的值了,但今天我在使用array_merge合并数组时碰到几个小细节上的问题,下面我举例子给各位 ...
- php合并数组,不使用函数array_merge()
php合并数组函数: array_merge() 函数把一个或多个数组合并为一个数组. 提示: 您可以向函数输入一个或者多个数组. 注释: 如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他 ...
最新文章
- 以为精通Java 线程池,看到这些误区,还是年轻了...
- 10个必会的 PyCharm 技巧
- 打造微量元素产业-丰收节交易会·李喜贵:签约南国健康产业
- Git之深入解析Rerere重用记录的解决方案
- c语言control表题目,CMFCControl 问题
- 树形DP+树状数组 HDU 5877 Weak Pair
- Python刷题之路,怎样做才能让技术突飞猛进
- Ubuntu下超实用的命令
- 谈java的导入(import)
- 【转】Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示
- iOS-layoutSubvies和drawRect何时调用
- 淘宝 封住baidu的蜘蛛了吗?
- mysql表情存储报错问题
- 三星固态硬盘linux驱动,三星固态硬盘驱动NVMe Driver
- kernel32.dll动态链接库报错解决方法win7,怎么修复kernel32.dll文件缺失
- 统计学课程学习【理论】数据的图标展示
- ASP.NET Core 运行原理解剖[2]-Hosting补充之配置介绍
- ThinkPHP5分页样式
- 反斜杆e,Linux下五彩斑斓的命令行输出
- 一种使用内存做硬盘的方法,提升读写速度
热门文章
- 语言 提取列名_学习健明老师发布的R语言练习题的学习笔记(二)
- android 最新usb驱动程序下载,安卓手机USB驱动官方下载、安装教程
- c语言编程 三角波,周期矩形波、周期锯齿波、周期三角波,C语言程序.doc
- Property ‘configuration‘ and ‘configLocation‘ can not specified with together
- 栈----生产者消费者实例
- 031_MessageBox弹框
- Java基础:基本数据类型包装类
- DisplayMetrics
- ue4 rpc php,UE4 RPC在C++中的使用简例
- python 拼多多秒杀_关于 拼多多笔试题-简单易懂的秒杀服务