二维数组:$taskData
Array
(
[0] => Array
(
[area] => 1
[winsFlag] => 7
[count] => 3
)
[1] => Array
(
[area] => 1
[winsFlag] => 3
[count] => 2
)
[2] => Array
(
[area] => 1
[winsFlag] => 5
[count] => 2
)
[3] => Array
(
[area] => 2
[winsFlag] => 6
[count] => 2
)
[4] => Array
(
[area] => 2
[winsFlag] => 3
[count] => 2
)
[5] => Array
(
[area] => 3
[winsFlag] => 7
[count] => 3
)
[6] => Array
(
[area] => 3
[winsFlag] => 1
[count] => 1
)
[7] => Array
(
[area] => 4
[winsFlag] => 2
[count] => 1
)
[8] => Array
(
[area] => 4
[winsFlag] => 2
[count] => 1
)
)
根据area相同将count相加
$item=[];
foreach($taskData as $k=>$v){
if(!isset($item[$v['area']])){
$item[$v['area']] = $v;
}else{
$item[$v['area']]['count'] += $v['count'];
}
结果:得到一个新的数组 $item
Array
(
[1] => Array
(
[area] => 1
[winsFlag] => 7
[count] => 7
)
[2] => Array
(
[area] => 2
[winsFlag] => 6
[count] => 4
)
[3] => Array
(
[area] => 3
[winsFlag] => 7
[count] => 4
)
[4] => Array
(
[area] => 4
[winsFlag] => 2
[count] => 2
)
)
本文介绍了一种处理二维数组的方法,通过遍历数组并根据特定条件(area相同)将count字段进行累加,最终生成一个新的数组。这种方法适用于数据聚合场景,能够有效减少数组元素数量,同时保留关键统计数据。
7万+

被折叠的 条评论
为什么被折叠?



