2014-03-02 2 views
0

배열이 있는데 그 배열 요소의 평균을 만들고 싶습니다.다차원 배열로 Array_walk 평균

$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에 의해 적용되지 않는다는 것입니다. 내가 선언 한 것과 정확히 같은 배열을 가지고있다.

답변

2

시도

function average($elem){ 
    return array_sum($elem)/sizeof($elem); 
}    
$arr = array_map('average',$array); 

참조 데모 당신은 평균 함수의 값을 반환하지만 와나 자신의 합계로 다차원 배열 값을 변경할 경우이 어떻게, 어디를받지 않는 here

+0

짧고, 빠르게 작동하며, 라이브 데모입니다. 고마워요. – Wistar

0

:

function average(&$arr)//& 
{ 
    if (!is_array($arr)) return false; 
    $arr = array_sum($arr)/count($arr); 
} 
+0

이미이 솔루션을 사용해 보았는데 그 결과는 같습니다. – Wistar

관련 문제