php合并二维数组相同的key

有个二维数组:
$arr=array(
array('num'=>5,'period'=>3),
array('num'=>10,'period'=>3),
array('num'=>15,'period'=>9)
);
对period相同的值的数组,对num求和,怎么处理变成:
$arr=array(
array('num'=>15,'period'=>3),
array('num'=>15,'period'=>9)
);
慕森王
浏览 1696回答 2
2回答

扬帆大鱼

把@mot的答案补完优雅一下:$arr=array(array('num'=>5,'period'=>3),array('num'=>10,'period'=>3),array('num'=>15,'period'=>9));$temp=array();foreach($arras$item){list($n,$p)=array_values($item);$temp[$p]=array_key_exists($p,$temp)?$temp[$p]+$n:$n;}$arr=array();foreach($tempas$p=>$n)$arr[]=array('num'=>$n,'period'=>$p);print_r($arr);

慕沐林林

$tmp=array();foreach($arras$one){if($tmp[$one['period']])$tmp[$one['period']]=$tmp[$one['period']]+$one['num'];else$tmp[$one['period']]=$one['num'];}$arr=array();foreach($tmpas$key=>$value)$arr[]=array('num'=>$value,'period'=>$key);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript