首页 > 开发 > PHP > 正文

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

2024-05-04 22:36:23
字体:
来源:转载
供稿:网友

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)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表