PHP中数组合并的两种方法
如下关联数组:
$a = array(
'where' => 'uid=1',
'order' => 'uid asc',
);
$b = array(
'where' => 'uid=2',
'order' => 'uid desc',
);
1、使用array_merge函数。如果两个数组存在相同的key,后面的一个会覆盖前面的。
$c = array_merge($a, $b);
var_export($c); // 结果与原来的$b相同
$d = array_merge($b, $a);
var_export($d); // 结果与原来的$a相同
2、"+"操作符,如果两个数组存在相同的key,前面的一个会覆盖后面的。
$c = $a + $b;
var_export($c); // 结果与原来的$a相同
$d = $b + $a;
var_export($d); // 结果与原来的$b相同
输出结果:
$a = array(
1 => '11111',
2 => '22222'
);
$b = array(
4 => '33333',
1 => '44444'
);
1、array_merge函数。效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中。
$c = array_merge($a, $b);
var_export($c);
$d = array_merge($b, $a);
var_export($d);
输出结果:
array (
0 => '11111',
1 => '22222',
2 => '33333',
3 => '44444',
)
array (
0 => '33333',
1 => '44444',
2 => '11111',
3 => '22222',
)
2、"+"操作符。效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中,如果同样的key已经存在则不处理。
$c = $a + $b;
var_export($c);
$d = $b + $a;
var_export($d);
输出结果:
array (
1 => '11111',
2 => '22222',
4 => '33333',
)
array (
4 => '33333',
1 => '44444',
2 => '22222',
)