php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

我们现在来分析一下在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

相关学习

PHP根据键值合并数组