这是我的数组
[Company] => Array
(
[0] => Array
(
[date] => 2016-05-28
[revenue] => 55
)
[1] => Array
(
[date] => 2016-05-28
[revenue] => 101
)
[2] => Array
(
[date] => 2016-05-29
[revenue] => 55
)
[3] => Array
(
[date] => 2016-05-29
[revenue] => 101
)
[4] => Array
(
[date] => 2016-05-30
[revenue] => 60
)
[5] => Array
(
[date] => 2016-05-30
[revenue] => 60
)
[6] => Array
(
[date] => 2016-05-31
[revenue] => 29
)
[7] => Array
(
[date] => 2016-05-31
[revenue] => 60
)
)
我需要这样总结一下
[Company] => Array
(
[0] => Array
(
[date] => 2016-05-28
[revenue] => 151
)
*
*etc.
)
我徒劳地试过各种方法。我尝试过以下方法,但效果不佳
foreach($data as $key => $value) {
foreach ($value as $row) {
$res[$key][$row['date']] += $row['revenue'];
}
}
答案 0 :(得分:1)
这应该可以工作,因为你在每个数组上循环两次并不理想,因为数组越大,这将呈指数级减速。
Image[i*width+j] = Image[i*width+(j-2)]*(1-2/3) + Image[i*width+(j+1)]*(1-1/3)
答案 1 :(得分:1)
我没有@atoms的答案, 但它将在一个foreach中完成
$newArr = array();
foreach($arr['Company'] as $key => $value) {
if(isset($newArr[$value['date']])){
$newArr[$value['date']]['revenue'] = $newArr[$value['date']]['revenue'] + $value['revenue'];
} else {
$newArr[$value['date']] = $value;
}
}
$newArr = array_values($newArr);
答案 2 :(得分:0)
$revenue_sum=0;
$elements_sum=0;
foreach($data as $key => $value) { // 1st dimension
foreach ($value as $key2 => $value2) { // 2nd dimension
if ($key2 == "revenue") {
$revenue_sum += $value2;
}
$elements_sum++;
}
}
echo "Revenue sum: ".$total_sum;
echo "Elements sum: ".$elements_sum;