我有一个数组,我希望得到它的数组元素的平均值。
$array = array(
'1' => array('1', '2'),
'2' => array('3', '7'),
'3' => array('5', '6'));
function average($arr)
{ if (!is_array($arr)) return false;
return array_sum($arr)/count($arr); }
array_walk($array, 'average');
print_r($array);
问题是我的函数不是由array_walk应用的。我得到了我声明的完全相同的数组。
答案 0 :(得分:2)
尝试
function average($elem){
return array_sum($elem)/sizeof($elem);
}
$arr = array_map('average',$array);
请参阅演示here
答案 1 :(得分:0)
如果您将多维数组值更改为它们的总和,那么您将从平均函数返回值而不是在任何地方接收它:
function average(&$arr)//&
{
if (!is_array($arr)) return false;
$arr = array_sum($arr)/count($arr);
}