2013-08-24 4 views
0

카테고리 개요에서 모든 하위 범주에서 조사한 모든 항목을 합산해야합니다.foreach에서 배열을 반환하고 값의 합계

각 하위 범주 ($ id_cat)에 대한 배열 '$ value'를 반환하는 foreach() 내에 countitemsinsubcat() 함수가 있습니다.

foreach ($subcategory as $row) { 
    $value =& countitemsinsubcat($id_cat); 

    $all_values_found [] = $value; 
} 

그래서이 2 개 하위 범주가있는 범주에 대해 $ all_values_found입니다 : 카테고리 개요에서

Array (
    [0] => Array(
    [Istudied] => 0 
    [Itotal] => 1 
    ) 

[1] => Array (
    [Istudied] => 1 
    [Itotal] => 4 
    ) 
) 

을, 나는 각 하위 범주의 배열의 값을 합산하고, '총을 얻으려면 '배열은 다음과 같습니다 :

Array 
(
      [Istudied] => 1 
      [Itotal] => 5 
) 

어떻게해야합니까?

//The magic happens here: 

function concatit($v, $w) 
{ 
    $v[Istudied] += $w[Istudied]; 
    $v[Itotal] += $w[Itotal]; 
    return $v; 
} 

//Declaring the array. 

$a = array (array(
     Istudied => 0, 
     Itotal => 1 
    ),array (
     Istudied => 1, 
     Itotal => 4 
    ) 
); 

//Making a call to the 'concatit' function declared above from within array_reduce. 

$d = array_reduce($a, "concatit"); 

//Now $d contains the array as you wanted it. 

echo $d[Istudied].' '.$d[Itotal]; 

당신이 더 해명이 필요하면 알려주세요 :

+0

뭔가를 시도 했습니까, 아니면 그냥하고 싶으신가요? –

+0

array_reduce가 도움이 될 것 같습니다. – Orangepill

답변

0

는이 코드 봐 [PHP]을 가지고! 즐겨!

+0

@StardogBR이 기능이 작동하는지 알려주세요. –