我一直试图让代码以某种格式输出数据,这样我就可以在图表中使用它,并希望在最后阶段得到一些帮助。提前谢谢。
这是我生成以下数组的代码。
$monthly_sales_array = array();
$i=0;
foreach($ord as $sales)
{
$month_is = date('m-Y',$sales->order_date);
$monthly_sales_array['months'][$month_is][$i] = $sales->qty*$sales->price_per;
$i++;
}
Array
(
[months] => Array
(
[07-2014] => Array
(
[0] => 33
[1] => 33
[2] => 26
[3] => 26
[4] => 38.5
[5] => 33
[6] => 165
)
[06-2014] => Array
(
[21] => 0.01
[22] => 44
[23] => 48
)
)
)
试图获得这个结果:
Array(
[months] => Array
(
[07-2014] => 354.5
[06-2014] => 92.01
)
)
答案 0 :(得分:0)
您需要foreach
。 (还有其他方法可以做到这一点,但我发现这是最容易的)
foreach($monthly_sales_array['months'] as &$month) {
$total=0;
foreach($month as $day) {
$total+=$day;
}
$month=$total;
}
注意:&
中的foreach($monthly_sales_array['months'] as &$month)
运算符意味着当您更新$month
时,它将在$monthly_sales_array
中更新。
答案 1 :(得分:0)
尝试这样的事情:
$monthly_sales_array = array();
$my_array = array(
'months' => array(
'07-2014' => array(
'0' => '33',
'1' => '33',
'2' => '26',
'3' => '26',
'4' => '38.5',
'5' => '33',
'6' => '165' ,
),
'06-2014' => array(
'21' => '0.01',
'22' => '44',
'23' => '48',
)
)
);
foreach ($my_array['months'] as $key => $value) {
$sum = array_sum(array_map(function ($a) { return $a; }, $my_array['months'][$key]));
$monthly_sales_array['months'][$key] = $sum;
}
print_r($monthly_sales_array);
<强>输出:强>
Array
(
[months] => Array
(
[07-2014] => 354.5
[06-2014] => 92.01
)
)