PHP合并数组+与array_merge的区别分析

yipeiwu_com5年前PHP代码库
主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意

1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值

需要注意的是数组键形式 '数字' 等价于 数字
复制代码 代码如下:

$a = array('a','b');
$b = array('c', 'd');
$c = $a + $b;
var_dump($a);
var_dump(array_merge($a, $b));

$a = array(0 => 'a', 1 => 'b');
$b = array(0 => 'c', 1 => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

$a = array('a', 'b');
$b = array('0' => 'c', 1 => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

$a = array(0 => 'a', 1 => 'b');
$b = array('0' => 'c', '1' => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

结果
复制代码 代码如下:

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

相关文章

在Windows系统下使用PHP生成Word文档的教程

在Windows系统下使用PHP生成Word文档的教程

准备工作 首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境。由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apache和...

PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)

本文实例总结了PHP常用字符串操作函数。分享给大家供大家参考,具体如下: /*常用的字符串输出函数 * * echo() 输出字符串 * print() 输出一个或多个字符串 * d...

PHP 获取文件权限函数介绍

复制代码 代码如下:/* * substr 返回字符串的子串 * base_convert  在任意进制之间转换数字 * fileperms&nb...

CMS中PHP判断系统是否已经安装的方法示例

当今很多常用的CMS系统都带有安装程序,为了用户的使用方便,新下载的系统在使用前,都会判断该CMS系统是否已经安装过,若安装了则就给出提示,不需要重复安装,若未安装则进入安装界面,指导用...

php中的异常和错误浅析

本文主要介绍了php中的异常和错误,分享给大家供大家参考学习,下面来一起看看详细的介绍: 一、异常与错误 异常是指程序运行中不符合预期情况以及与正常流程不同的状况。错误则属于自身问题,...