数组重组求助~~

下面这堆数组wid,gid全部相同的,要求Num累加,不同的不操作直接显示,数组去重如何实现?
Array
(
[0]=>Array
(
[id]=>1
[no]=>WF20170001
[wid]=>1
[gid]=>1
[num]=>4
[price]=>2.55
[amount]=>10.20
[buyer]=>顾文君
[invoice]=>123456789
[date]=>2017-03-28
[remarks]=>测试数据
[cid]=>pc001
[class]=>办公用品
[name]=>笔记本电脑
[type]=>AcerAspireE1-410G
[unit]=>台
[warehouse_name]=>办公用品仓库
)
[1]=>Array
(
[id]=>3
[no]=>WF20170001
[wid]=>1
[gid]=>5
[num]=>5
[price]=>100.00
[amount]=>500.00
[buyer]=>顾文君
[invoice]=>1231241
[date]=>2017-04-14
[remarks]=>入库测试
[cid]=>tf001
[class]=>办公用品
[name]=>打印机碳粉
[type]=>88A
[unit]=>支
[warehouse_name]=>办公用品仓库
)
[2]=>Array
(
[id]=>4
[no]=>WF20170001
[wid]=>1
[gid]=>2
[num]=>1
[price]=>4500.00
[amount]=>4500.00
[buyer]=>张秀珍
[invoice]=>4558895
[date]=>2017-04-09
[remarks]=>入库测试
[cid]=>pc002
[class]=>办公用品
[name]=>笔记本电脑
[type]=>AcerAspireE5-571G-58WT
[unit]=>台
[warehouse_name]=>办公用品仓库
)
[3]=>Array
(
[id]=>5
[no]=>WF20170002
[wid]=>1
[gid]=>3
[num]=>1
[price]=>88.00
[amount]=>88.00
[buyer]=>顾文君
[invoice]=>556789
[date]=>2017-04-09
[remarks]=>测试数据
[cid]=>ow
[class]=>办公用品
[name]=>万用表
[type]=>万用表
[unit]=>台
[warehouse_name]=>办公用品仓库
)
[4]=>Array
(
[id]=>12
[no]=>WF20170001
[wid]=>1
[gid]=>1
[num]=>1
[price]=>2.55
[amount]=>2.55
[buyer]=>顾文君
[invoice]=>53412312
[date]=>2017-06-05
[remarks]=>无
[cid]=>pc001
[class]=>办公用品
[name]=>笔记本电脑
[type]=>AcerAspireE1-410G
[unit]=>台
[warehouse_name]=>办公用品仓库
)
)
慕斯709654
浏览 296回答 2
2回答

繁花不似锦

$temp=[];foreach($dataas$item){//$data为待处理数据if(isset($temp[$item['wid']][$item['gid']])){$temp[$item['wid']][$item['gid']]['num']+=$item['num'];}else{$temp[$item['wid']][$item['gid']]=$item;}}$result=[];foreach($tempas$wid=>$val1){foreach($val1as$gid=>$val2){$result[]=$val2;}}var_dump($result);

富国沪深

我的理解其实你现在做的就是php层面实现mysqlgroupby//伪代码思路$tmp_arr=[];foreach$tmp_arr[$v['wid'].$v['gid']]+=$v['num'];//自己判断下数据件是否存在,不存在就初始化0,还要把重复的key删除掉,加在第一个上面这个临时数据判断下下哪个key需要删除
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript