转自:http://www.cnblogs.com/losesea/archive/2013/06/14/3134900.html

题目:有以下2个二维数组

1
$a=Array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
2
$b=Array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
两个数组内容如上,如何把$a和$b合并成为一个新的二维数组,要求新数组内容如下:

1
Array(0 => Array(id => 66,class_name => www.iiwnet.com,class_count=> 8),1 => Array(id => 67,class_name => linux ,class_count => 2));
这个题目一定有人遇到过 正好今天群里有人问 就给出2种解法
以下代码由 PHP教程网 原创提供
01
方法一:
02
 
03
    function arrpreg(){
04
        $a=Array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
05
        $b=Array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
06
        $arr = array();
07
        foreach ($a as $k => $r) {
08
            foreach($r as $k1 => $r1){
09
                $arr[$k][$k1] = $r1;
10
            }
11
        }  
12
        foreach ($b as $k => $r) {
13
            foreach($r as $k1 => $r1){
14
                $arr[$k][$k1] = $r1;
15
            }
16
        }
17
        return $arr;
18
    }
19
    $ar= arrpreg();  
20
    echo '<pre>';
21
     print_r($ar);
22
    echo '</pre>';
23
    ?>
24
 
25
方法二:
26
 
27
    $a = array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
28
    $b = array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
29
    $arr = array();
30
    foreach($a as $k=>$r){
31
        $arr[] = array_merge($r,$b[$k]);
32
    }
33
    echo '<pre>';
34
    print_r($arr);
35
    echo '</pre>';

转自http://www.2cto.com/kf/201210/159324.html

PHP二维数组合并,根据某个key合并

最终解决方案:

  1. /**
  2. *
  3. * @param type $v 要传入的组合阵列
  4. * @param type $keyname 对应的KEY名称。
  5. * @param type $valname 要写入的值KEY名称
  6. * @param type $s 重组译的阵例。预设空值。
  7. */
  8. function test($v,$keyname,$valname,$s=Array())
  9. {
  10. foreach($v AS $_k => $d)
  11. {
  12. $s[$d[$keyname]][$valname]= $d[$valname];
  13. }
  14. return $s;
  15. }
  16. $key ='server_id';
  17. foreach($arr1 as $k=>$v){
  18. $arr[$v['server_id']]= $v;
  19. }
  20. $data = test($arr2,$key,'arr2',$arr);
  21. $data = test($arr3,$key,'arr3',$data);

转自http://www.dewen.org/q/7551

 
 

php二位数组合并的更多相关文章

  1. C++ 出现bug :二位数组的操作运算,求非对角线的元素的和

    编写一个通用程序,求出二位数组(行数和列数必须相等)的非对角线的元素之和,试建立类MATRIX完成上述功能 #include<iostream> using namespace std; ...

  2. PHP二维数组合并,根据某个key合并

    /** *PHP二维数组合并,根据某个key合并 * @param type $v 要传入的组合阵列 * @param type $keyname 对应的KEY名称. * @param type $v ...

  3. PHP 之二位数组根据某个字段排序封装

    /** * @param $array * @param $keys * @param string $sort * @return array */ function arraySort($arra ...

  4. java中Arrays.sort()对二位数组进行排序

    int [][]a = new int [5][2]; //定义一个二维数组,其中所包含的一维数组具有两个元素 对于一个已定义的二位数组a经行如下规则排序,首先按照每一个对应的一维数组第一个元素进行升 ...

  5. 【shell】构造并遍历二位数组的一种用法

    参考shell数组的部分操作用法,实现了构造和遍历二维数组的一种方式,具体如下: #数组元素以空格分割 sites=("www.a.com www.b.com www.c.com www.d ...

  6. PHP把2个二维数组合并一个二维数组

    $a = array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,clas ...

  7. shell二位数组——终端字符下降动画

    猜想:Shell支持关联数组,可以利用关联数组模拟二维数组. [验证猜想] #!/bin/bash array[1,1]=1 array[2,1]=2 array[3,1]=3 for i in `s ...

  8. vector创建二位数组

    默认初始化vector vector<vevtor<int> > arr(row, vector<int>(col, 0)); //指定行大小为row,列为col, ...

  9. Rotate Image(二位数组顺时针旋转)

    问题描述: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockw ...

随机推荐

  1. IHttpModule在webconfig中的注册

    在asp.net中,提供了两种方式用来解决获取由asp.net服务器创建和维护的HttpApplication对象,方便注册HttpApplication对象的事件处理.这两种方式为:IHtpModu ...

  2. (转)win32Application和win32ApplicationConsole

    这几天在创建MFC项目时,常常遇到一下两个连接错误,例如: 1. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _ma ...

  3. tyvj3481 越狱

    描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相信房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 输入格式 输入两个整数 ...

  4. cocos2dx新研发的游戏,手机运行时非常热的解决方案

    cocos2dx新研发的游戏,手机运行时非常热,有需要的朋友可以参考下. cocos2dx新研发的游戏,手机上运行时导致手机非常热,后来听其他项目组分享时得知,可以通过降帧解决这个问题,原来是coco ...

  5. 数据结构与算法实验题7.1 M 商人的求救

    问题描述:A 国正面临着一场残酷的战争,城市被支持不同领导的两股势力占据,作为一个商人,M先生并不太关心政治,但是他知道局势很严重,他希望你能救他出去.M 先生说:“为了安全起见,我们的路线最多只能包 ...

  6. Kruskal vs Borůvka

    做了个对比.Borůvka算法对于稠密图效果特别好.这两个都是求生成森林的算法.Prim+heap+tarjan过于难写不写了. V=200,E=1000 Kruskal method 4875048 ...

  7. 【OpenStack】OpenStack系列10之Horizon详解

    一.参考其他资料即可.可以采用haproxy+apache+horizon方式部署,haproxy/httpd支持ssl.

  8. 【OpenStack】OpenStack系列7之Nova详解

    源码下载.安装 参考: https://github.com/yongluo2013/osf-openstack-training/blob/master/installation/openstack ...

  9. Rotate List

    Given a list, rotate the list to the right by k places, where k is non-negative. Example Given 1-> ...

  10. Django的Context和RequestContext

    参考:http://www.dannysite.com/blog/38/ Django的模板渲染中,Context可以用来传递数据,一个Context是一系列变量和值的集合,它和Python的字典有点 ...