Heim > Fragen und Antworten > Hauptteil
Die folgenden Arrays haben die gleiche GID und müssen akkumuliert werden. Diejenigen mit unterschiedlicher GID werden direkt ohne Operation angezeigt.
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] => Acer Aspire E1-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] => Acer Aspire E5-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] => Acer Aspire E1-410G
[unit] => 台
[warehouse_name] => 办公用品仓库
)
)
怪我咯2017-06-06 09:56:16
$arr = array(
array(
'gid' => 1,
'num' => 4,
),
array(
'gid' => 1,
'num' => 4,
),
array(
'gid' => 3,
'num' => 3,
),
array(
'gid' => 4,
'num' => 4,
),
);
$result = array();
foreach($arr as $val) {
if(!isset($result[$val['gid']])) {
$result[$val['gid']] = $val;
continue;
}
$result[$val['gid']]['num'] += $val['num'];
}
var_dump("<pre>", $result);die;
習慣沉默2017-06-06 09:56:16
$ret = [['gid' => 2,'num' => 5],['gid' => 3,'num' => 5],['gid' => 2,'num' => 6]];
$newret = array();
foreach($ret as $key => $val){
$newret[$val['gid']]['gid'] = $val['gid'];
$newret[$val['gid']]['num'] += $val['num'];
}
sort($newret);
//结果
Array
(
[0] => Array
(
[gid] => 2
[num] => 11
)
[1] => Array
(
[gid] => 3
[num] => 5
)
)