【发布时间】:2014-12-29 09:17:04
【问题描述】:
这对你们中的一些人来说可能很简单,但我在 php 中真的很笨。我所需要的只是转换一个多维数组并计算它的一些子数组值。
Array
(
[0] => Array
(
[date] => 2014-10-30
[mission] => one
[point] => 10
)
[1] => Array
(
[date] => 2014-10-31
[mission] => five
[point] => 10
)
[2] => Array
(
[date] => 2014-11-19
[mission] => one
[point] => 8
)
输出会是这样的:
Array
(
[one] => Array
(
[mission] => one
[point] => 18 // sum all points where [mission] => one
[count] => 2
[everage] => 9 // 18/2
)
[five] => Array
(
[mission] => five
[point] => 10
[count] => 1
[everage] => 10
)
使用foreach 获取[point] 值的总和很简单,但是当我尝试获取具有相同[mission] 值的数组的count 时,麻烦就开始了。这是我的代码:
foreach($missionsarray as $row) {
if(!isset($newarray[ $row['mission'] ])) {
$newarray[ $row['mission'] ] = $row;
$newarray[ $row['mission'] ]['count'] = count($row['point']);
continue ;
}
$newarray[ $row['mission'] ]['point'] += $row['point'];
}
print_r($newarray);
【问题讨论】:
标签: php arrays foreach count sum