我们现在来分析一下在PHP开发过程中,如何合并两个数组,并且将相同键值的元素合并在一起。
示例1
最简单的合并方式
$a = [ 1=>'a', 2=>'b', 3=>'c' ]; $b = [ 3=>'e', 4=>'f', 5=>'c' ]; $c = $a+$b; print_r($c);
输出:
Array ( [1] => a [2] => b [3] => c [4] => f [5] => c )
分析:$a[3]覆盖了$b[3],当数组存在相同键值的元素时,前面的数组将会后面相同键值的数组元素
示例2
用foreach循环赋值的方法
$a = [ 1=>'a', 2=>'b', 3=>'c' ]; $b = [ 3=>'e', 4=>'f', 5=>'a' ]; foreach ($b as $key => $val) { $a[$key] = $val; } print_r($a);
输出:
Array ( [1] => a [2] => b [3] => e [4] => f [5] => a )
分析:和示例1有点区别
用于做循环的数组$b将会覆盖数组$a的元素,而且只覆盖键值相同的元素
相关函数:
array_merge
array_intersect
array_intersect_ukey
array_intersect_uassoc
array_intersect_key
array_intersect_assoc