私は次のような配列を持っています
//$ary, $ary contains some 80 entries, I'm showing only the first 10
Array
(
[0] => Array
(
[December 2012] => 58
)
[1] => Array
(
[November 2012] => 84
)
[2] => Array
(
[December 2012] => 83
)
[3] => Array
(
[November 2012] => 72
)
[4] => Array
(
[November 2012] => 47
)
[5] => Array
(
[December 2012] => 93
)
[6] => Array
(
[November 2012] => 79
)
[7] => Array
(
[October 2012] => 70
)
[8] => Array
(
[November 2012] => 75
)
[9] => Array
(
[October 2012] => 59
)
[10] => Array
(
[December 2012] => 67
)
)
以下を使用して、各月の合計を取得できます。
foreach($ary as $array)
{
foreach($array as $month=>$cent)
{
if(isset($abc[$month])) // prevent index warning
{
$abc[$month] += $cent;
// tried using $abc[$month] = $abc[$month]/2 but wrong values were returned
}
else
{
$abc[$month] = $cent;
}
}
}
これにより、
Array
(
[December 2012] => 2195
[November 2012] => 2159
[October 2012] => 1631
)
しかし、各月の平均値を見つける方法を見つけることができません。私の場合、 の 31 個のインスタンスDecember 2012
、 の 31 個のインスタンス、November 2012
および の 25 個のインスタンスがありOctober 2012
ます。したがって、これらの31
、31
、および の25
値を取得して、月をその数で割ることができるようにする必要があります。
if(isset($abc[$month]))
キャプチャするにはループ内で何かを行う必要があると考えていますが、これまでのところ成功していません。平均を取る他の方法はありますか?
PS : 比較のために月の名前 (10 月、11 月、12 月) をハードコードすることはできません。それらは定期的に変化し続けます。