2013-06-09 3 views
3

내가 두 배열을 가지고 있다고 가정하자 :다차원 배열은 또한

$v_4 = array(array(1,2,3),array(4,5,6)); 
$v_5 = array(array(7,8,9),array(10,11,12)); 

얻을 수 있도록 나는이 어레이에 추가 할 수있는 추가 기능을 구성하는 방법 :

$new_array = array(array(8,10,12),array(14,16,18)); 

을 내가 활용할 필요가 알고 array_map 어쨌든, 다차원적인 경우에 어떻게 진행해야할지 확신 할 수 없습니다.

답변

1

당신은 당신이 약간의 수정으로이 기능을 사용할 수 있습니다 ..

$new = array(); 
foreach(array_map(null, $v_4, $v_5) as $var) { 
    $data = call_user_func_array("array_map", array_merge(array(null) , $var)); 
    $new[] = array_map("array_sum", $data); 
} 
print_r($new); 

See Live DEMO

10 같은 경우 위의 예제 만 ..이 개 배열에 제한을 사용할 수 있습니다

print_r(array_sum_colums($v_4,$v_5,$v_6)); 

또는

print_r(array_sum_colums(array($v_4,$v_5,$v_6))); 

See Live DEMO

기능

function array_sum_colums() { 
    $args = count(func_get_args()) == 1 ? func_get_arg(0) : func_get_args(); 
    $arg = call_user_func_array("array_map", array_merge(array(null),$args)); 
    $new = array(); 
    foreach($arg as $var) { 
     $data = call_user_func_array("array_map", array_merge(array(null), $var)); 
     $new[] = array_map("array_sum", $data); 
    } 
    return $new ; 
} 
+0

당신이'array_merge (배열 (널), $ var에)를'설명해 주시겠습니까? 'array (null)'의 중요성과 그 시점에서'$ var'는 무엇을 포함합니까? –

+0

array_merge는 단지 배열을 취합니다 .....'array (null)'은 배열에 null 값을 추가하는 방법입니다. 'var_dump ($ var)'를 사용하면 var에 포함 된 내용을 볼 수 있습니다 – Baba