组合多个数组
2014年01月22日
⁄ 综合
⁄ 共 1503字 ⁄ 字号
小 中 大
- function joinResult(&$result, $main_key){
- $arg_list = func_get_args();
- if (count($arg_list) < 3) return;
- for ($i=2; $i<count($arg_list); $i++){
- $arr = $arg_list[$i];
- foreach ($arr as $row){
- $key_value = $row[$main_key];
- $key_arr = $result[$key_value];
- if (!$key_arr) $key_arr = array();
- foreach ($row as $key=>$value){
- if (!is_numeric($key)) $key_arr[$key] = $value;
- }
- $result[$key_value] = $key_arr;
- }
- }
- }
- $a1 = array(
- array(0=>"1", "org_id"=>"10", "new_customers"=>"100", "new_orders"=>"100"),
- array(0=>"2", "org_id"=>"20", "new_customers"=>"40", "new_orders"=>"40")
- );
- $a2 = array(
- array(0=>"1", "org_id"=>"10", "moneys"=>"320", "new_orders"=>"320"),
- array(0=>"3", "org_id"=>"30", "moneys"=>"110", "new_orders"=>"110")
- );
- joinResult($result, "org_id", $a1, $a2);
- echo "<pre>";
- print_r($result);
- echo "</pre>";
- //运行结果
- Array
- (
- [10] => Array
- (
- [org_id] => 10
- [new_customers] => 100
- [new_orders] => 320
- [moneys] => 320
- )
- [20] => Array
- (
- [org_id] => 20
- [new_customers] => 40
- [new_orders] => 40
- )
- [30] => Array
- (
- [org_id] => 30
- [moneys] => 110
- [new_orders] => 110
- )
- )