我想基于key计算数组的所有值的平均值。 我有一个像这样的数组
$res_arr =
array
{
array[0]=>array
{
[0] => 3
[1] => 7
[2] => 9
[3] =>3
[4] => 22
}
array[1]=>array
{
[0] => 5
[1] => 5
[2] => 8
[3] => 9
[4] => 0
}
array[2]=>array
{
[0] => 10
[1] => 5
[2] => 8
[3] => 7
[4] => 3
}
....
....
....
....
array[100]
}
每个数组中共有5个元素
它应该返回一个平均值为
的数组$av_array = ();
$array = array(6,5.6,8.3,6.3,8.3)
以下是我使用的循环
foreach($res_arr as $m=>$val)
{
//echo $val[0];
$return[$val[$m]][] = $val;
//$cnt++;
}
答案 0 :(得分:4)
function array_average($arr)
{
return array_sum($arr)/count($arr);
}
$array = array_map("array_average", $input_array);
print_r($array);
更新:替代语法:
$array_average = function($arr) {
return array_sum($arr)/count($arr);
};
$array = array_map($array_average, $input_array);
print_r($array);
答案 1 :(得分:0)
试试这个:
$av_array = [];
foreach($res_arr as $val)
{
$av_array[] = array_sum($val)/count($val);
}
var_dump($av_array);
答案 2 :(得分:0)
这样做..
foreach($arr as $arr1)
{
foreach($arr1 as $k=>$v)
{
$sum_arr[]=$v;
}
echo $avg = array_sum($sum_arr)/count($sum_arr);
unset($sum_arr);
}
}