【编者按】网学网PHP频道为大家收集整理了“PHP中数组合并的两种方法及区别介绍“提供大家参考,希望对大家有所帮助!
PHP数组合并两种方法及区别
如果是关联数组,如下:
复制代码 代码如下:
$a = array(
''where'' => ''uid=1'',
''order'' => ''uid'',
);
$b = array(
''where'' => ''uid=2'',
''order'' => ''uid desc'',
);
1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的
复制代码 代码如下:
<?php
$c = array_merge($a, $b);
var_export($c);//结果与原来的$b相同
$d = array_merge($b, $a);
var_export($d);//结果与原来的$a相同
2. "+"操作符,如果两个数组存在相同的key,前面的一个会覆盖后面的
复制代码 代码如下:
<?php
$c = $a + $b;
var_export($c);//结果与原来的$a相同
$d = $b + $a;
var_export($d);//结果与原来的$b相同
如果是数字索引数组,如下:
复制代码 代码如下:
$a = array(
1 => ''1111111'',
2 => ''222222222''
);
$b = array(
4 => ''33333333333'',
1 => ''444444444''
);
1. array_merge. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中
复制代码 代码如下:
<?php
$c = array_merge($a, $b);
var_export($c);
$d = array_merge($b, $a);
var_export($d);
输出:
array (
0 => ''1111111'',
1 => ''222222222'',
2 => ''33333333333'',
3 => ''444444444'',
)
array (
0 => ''33333333333'',
1 => ''444444444'',
2 => ''1111111'',
3 => ''222222222'',
)
2. "+"操作符. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中,如果同样的key已经存在则不处理
复制代码 代码如下:
<?php
$c = $a + $b;
var_export($c);
$d = $b + $a;
var_export($d);
输出:
array (
1 => ''1111111'',
2 => ''222222222'',
4 => ''33333333333'',
)
array (
4 => ''33333333333'',
1 => ''444444444'',
2 => ''222222222'',
)