$arr1=array(
'0' => array ( 'userId' => 1,'date' => '2011-4-11', 'num' => '9' ),
'1' => array ( 'userId' => 2,'date' => '2011-4-12', 'num' => '3' ),
'2' => array ( 'userId' => 6,'date' => '2011-4-13', 'num' => '4'),
'3' => array ( 'userId' => 3,'date' => '2011-4-13', 'num' => '5'),
'4' => array ( 'userId' => 1,'date' => '2011-4-12', 'num' => '7'),
);
$arr2=array(
'0' => array ( 'userId' => 1,'date' => '2011-4-11', 'num' => '2' ),
'1' => array ( 'userId' => 2,'date' => '2011-4-12', 'num' => '3' ),
'2' => array ( 'userId' => 6,'date' => '2011-4-13', 'num' => '4'),
'3' => array ( 'userId' => 3,'date' => '2011-4-13', 'num' => '5'),
'4' => array ( 'userId' => 1,'date' => '2011-4-12', 'num' => '7'),
);
function Finishing() {
foreach(func_get_args() as $arr) {
if(is_array($arr)) {
foreach($arr as $v) {
$k = $v['userId'].'_'.$v['date'];
if(! isset($r[$k]))
$r[$k] = $v;
else
$r[$k]['num'] += $v['num'];
}
}
}
return array_values($r);
}
print_r(Finishing($arr1, $arr2));
$arr1=array(
'0' => array ( 'userId' => 1,'date' => '2011-4-11', 'num' => '9' ),
'1' => array ( 'userId' => 2,'date' => '2011-4-12', 'num' => '3' ),
'2' => array ( 'userId' => 6,'date' => '2011-4-13', 'num' => '4'),
'3' => array ( 'userId' => 3,'date' => '2011-4-13', 'num' => '5'),
'4' => array ( 'userId' => 1,'date' => '2011-4-12', 'num' => '7'),
);
$arr2=array(
'0' => array ( 'userId' => 1,'date' => '2011-4-11', 'num' => '2' ),
'1' => array ( 'userId' => 2,'date' => '2011-4-12', 'num' => '3' ),
'2' => array ( 'userId' => 6,'date' => '2011-4-13', 'num' => '4'),
'3' => array ( 'userId' => 3,'date' => '2011-4-13', 'num' => '5'),
'4' => array ( 'userId' => 1,'date' => '2011-4-12', 'num' => '7'),
);
function arrayMerge($array1,$array2){
$num = count($array1);
$newarr = array();
for($i=0;$i<$num;$i++){
if(!(strcasecmp($array1[$i]['userId'], $array2[$i]['userId'])||strcasecmp($array1[$i]['date'], $array2[$i]['date']))){
$newarr[$i]['userId'] = $array1[$i]['userId'];
$newarr[$i]['date'] = $array1[$i]['date'];
$newarr[$i]['num'] = $array1[$i]['num']+$array2[$i]['num'];
}
}
return $newarr;
}
print_r(arrayMerge($arr1,$arr2));
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。