A-A+

PHP二维数组的合并方法

2019年09月30日 PHP技术文章 暂无评论 阅读 0 views 次

今年做得最二的一个项目,两个数据表,需要将数据同时展示出来,从一开始的项目开发设计就做错了,因为是多人同时开发的项目,所以如果去大改的话,可能改动较大,所以在前台也只能合并两个数据表的数据了,最主要的还是两个数据表没有任何字段的关联,所以就只能想出一个办法,先循环出第一个表的数据,生成第一个二维数组,然后循环出第二个表的数据,生成第二个二维数组。然后再将两个二维数组合并同时输出。

例子如下:

$a = array(array("1","2"),array("3","4"));

$b = array(array("a","b"),array("c","d"));

两个从数据库中循环出来的内容,直接使用 array_merge 函数即可将其合并,如下:

$c = array_merge($a,$b);

print_r($c);

打印出来的结果就是:

  1. Array  
  2. (  
  3.     [0] => Array(  
  4.             [0]=>1  
  5.             [1]=>2  
  6.      )  
  7.     [1] => Array(  
  8.             [0]=>3  
  9.             [1]=>4  
  10.      )  
  11.     [2] => Array(  
  12.             [0]=>a  
  13.             [1]=>b  
  14.      )  
  15.     [3] => Array(  
  16.             [0]=>c  
  17.             [1]=>d  
  18.      )  
  19. )  

使用函数合并是再简单不过的方法了,也便于理解,这种合并的方法,就是将 $a 数组追加到 $b 数组之后,形成一个新的二维数组。

还有一种合并的方式,就是通过 foreach 循环来合并数组,如下:

  1. $a = array(array("1","2"),array("3","4"));  
  2. $b = array(array("a","b"),array("c","d"));    
  3. foreach($a as $key=>$vo){  
  4.     $list[] = array_merge($vo,$b[$key]);  
  5. }  
  6. print_r($list);  

打印出来的结果如下:

  1. Array  
  2. (  
  3.      [0]=>Array  
  4.           (  
  5.               [0]=>1  
  6.               [1]=>2  
  7.               [2]=>a  
  8.               [3]=>b  
  9.            )  
  10.      [1]=>Array  
  11.           (  
  12.               [0]=>1  
  13.               [1]=>2  
  14.               [2]=>a  
  15.               [3]=>b  
  16.            )  
  17. )  

看看这两种有什么区别,第一种是直接追加,第二种的结果是融合,使用该方法之后,就是在A数组中插入了B数组,看各种需要吧。

最后将两个表的数据合并成一个二维数组之后,需要重新改变一下数组键值,也就是从 0 开始,直接使用 array_values() 函数即可。

标签:

给我留言