现在的位置: 首页 > 综合 > 正文

组合多个数组

2014年01月22日 ⁄ 综合 ⁄ 共 1503字 ⁄ 字号 评论关闭
  1.      function joinResult(&$result, $main_key){
  2.          $arg_list = func_get_args();
  3.          if (count($arg_list) < 3) return;
  4.          for ($i=2; $i<count($arg_list); $i++){
  5.              $arr = $arg_list[$i];
  6.              foreach ($arr as $row){
  7.                  $key_value = $row[$main_key];
  8.                  $key_arr = $result[$key_value];
  9.                  if (!$key_arr) $key_arr = array();
  10.                  foreach ($row as $key=>$value){
  11.                      if (!is_numeric($key)) $key_arr[$key] = $value;
  12.                  }
  13.                  $result[$key_value] = $key_arr;
  14.              }
  15.          }
  16.      }
  17.      $a1 = array(
  18.              array(0=>"1""org_id"=>"10""new_customers"=>"100""new_orders"=>"100"),
  19.              array(0=>"2""org_id"=>"20""new_customers"=>"40""new_orders"=>"40")
  20.           );
  21.      $a2 = array(
  22.              array(0=>"1""org_id"=>"10""moneys"=>"320""new_orders"=>"320"),
  23.              array(0=>"3""org_id"=>"30""moneys"=>"110""new_orders"=>"110")
  24.           );
  25.      joinResult($result, "org_id", $a1, $a2);
  26.      echo "<pre>";
  27.      print_r($result);
  28.      echo "</pre>";

  1. //运行结果
  2. Array
  3. (
  4.     [10] => Array
  5.         (
  6.             [org_id] => 10
  7.             [new_customers] => 100
  8.             [new_orders] => 320
  9.             [moneys] => 320
  10.         )
  11.     [20] => Array
  12.         (
  13.             [org_id] => 20
  14.             [new_customers] => 40
  15.             [new_orders] => 40
  16.         )
  17.     [30] => Array
  18.         (
  19.             [org_id] => 30
  20.             [moneys] => 110
  21.             [new_orders] => 110
  22.         )
  23. )

抱歉!评论已关闭.