当前位置:首页 > PHP教程 > php数组 > 列表

PHP根据键值合并数组

发布:smiling 来源: PHP粉丝网  添加日期:2022-07-04 09:31:34 浏览: 评论:0 

我们现在来分析一下在PHP开发过程中,如何合并两个数组,并且将相同键值的元素合并在一起。

示例1

最简单的合并方式

  1. $a = [ 
  2.  
  3.    1=>'a'
  4.  
  5.    2=>'b'
  6.  
  7.    3=>'c' 
  8.  
  9. ]; 
  10.  
  11. $b = [ 
  12.  
  13.    3=>'e'
  14.  
  15.    4=>'f'
  16.  
  17.    5=>'c' 
  18.  
  19. ]; 
  20.  
  21. $c = $a+$b
  22.  
  23. print_r($c); 

输出:

Array ( [1] => a [2] => b [3] => c [4] => f [5] => c )

分析:$a[3]覆盖了$b[3],当数组存在相同键值的元素时,前面的数组将会后面相同键值的数组元素

示例2

用foreach循环赋值的方法

  1. $a = [ 
  2.  
  3.    1=>'a'
  4.  
  5.    2=>'b'
  6.  
  7.    3=>'c' 
  8.  
  9. ]; 
  10.  
  11. $b = [ 
  12.  
  13.    3=>'e'
  14.  
  15.    4=>'f'
  16.  
  17.    5=>'a' 
  18.  
  19. ]; 
  20.  
  21. foreach ($b as $key => $val) { 
  22.  
  23.    $a[$key] = $val
  24.  
  25.  
  26. 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

Tags: PHP键值合并数组

分享到: