数组合并问题

这是合并前的两个数组
图片描述

这是合并后的数组
图片描述

这个foreach怎么写?

阅读 2.3k
2 个回答

先说下我对题主题目的理解吧,这两个数组应该是两个不同表取出来的,其中date和a_id应该是相同字段,合并也是以这两个作为判断依据,相同date和a_id就把数据合并到一个数组里面去,以下是代码:

$array1 = array(..); // 合并的第一个数组
$array2 = array(..); // 合并的第二个数组
$array = array_merge($array1 , $array2); // 将两数组合并
$new_array = array();
foreach($array as $v){

foreach($v as $key => $val){
    if(array_key_exists($val['date'].'-'.$val['a_id'] , $new_array)){
        // 存在相同的数组下标说明两个数组有相同的date,a_id,那么直接合并
        $new_array[$val['date'].'-'.$val['a_id']] = array_merge($new_array[$val['date'].'-'.$val['a_id']],$val);
    }else{
        $new_array[$val['date'].'-'.$val['a_id']] = $val;
    }
}

}

说明一下:处理之后的数组new_array数组下标是date-a_id,以此作为唯一下标

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题