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

前端之家收集整理的这篇文章主要介绍了PHP合并数组+号和array_merge的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

1.相加会证数组中的自然index不被重置 2.相加方法中,被加的数组内的值不会被覆盖 3.merge函数中的自然index会被重置 4.merge函数,无所谓被merge和merge关系,越后面的array参数,其值,会覆盖较前面的array参数相同键的值

例子:

数组1:

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

数组2:

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

结果比较:

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相关文章