Heim > Fragen und Antworten > Hauptteil
Dies sind die beiden Arrays vor dem Zusammenführen
Dies ist das zusammengeführte Array
Wie schreibe ich das foreach?
怪我咯2017-06-28 09:25:28
先说下我对题主题目的理解吧,这两个数组应该是两个不同表取出来的,其中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,以此作为唯一下标