跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

PHP合并数组+号和array_merge的区别

PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别:

1.相加会证数组中的自然index不被重置

2.相加方法中,被加的数组内的值不会被覆盖

3.merge函数中的自然index会被重置

4.merge函数,无所谓被merge和merge关系,越后面的array参数,其值,会覆盖较前面的array参数相同键的值

例子:

数组1:

$arr1 = array(10 => 'valueof10',11 => 'valueof11','key1' => 'dataofkey1','key2' => 'dataofkey2','array' => array('key1' => 1,'key2' => 'abc','key3' => array(1, 2, 'name' => 'peter'),),);

数组2:

$arr2 = array(10 => 'newvalueof10',11 => 'newvalueof11','key1' => 'newdataofkey1','key3' => 'newdataofkey3','array' => array('key1' => 2,'key2' => 'defg','key3' => array(1, 2, 'name' => 'jonathan', 'gender' => 'male'),),);

结果比较:

array (size=6) 10 => string 'valueof10' (length=9) 11 => string 'valueof11' (length=9)'key1' => string 'dataofkey1' (length=10)'key2' => string 'dataofkey2' (length=10)'array' =>array (size=3)'key1' => int 1'key2' => string 'abc' (length=3)'key3' =>array (size=3) 0 => int 1 1 => int 2'name' => string 'peter' (length=5)'key3' => string 'newdataofkey3' (length=13)

array (size=8) 0 => string 'valueof10' (length=9) 1 => string 'valueof11' (length=9)'key1' => string 'newdataofkey1' (length=13)'key2' => string 'dataofkey2' (length=10)'array' =>array (size=3)'key1' => int 2'key2' => string 'defg' (length=4)'key3' =>array (size=4) 0 => int 1 1 => int 2'name' => string 'jonathan' (length=8)'gender' => string 'male' (length=4) 2 => string 'newvalueof10' (length=12) 3 => string 'newvalueof11' (length=12)'key3' => string 'newdataofkey3' (length=13)您可能感兴趣的文章:php合并数组并保留键值的实现方法PHP合并数组函数array_merge用法分析PHP合并数组的2种方法小结基于php实现随机合并数组并排序(原排序) php合并数组中相同元素的方法php根据分类合并数组的方法实例详解PHP合并两个或多个数组的方法

相关文章