2013-03-30 2 views
0

를 사용하여 I는 다음과 같다 연관 배열을 가지고결합하여 다차원 연관 배열 합계 값 PHP

I는 예를 들어, 이름 또는 양 누락 값을 제거해야
Array (
    [0] => Array (
     [amount] => 3 
     [name] => Chuck 
    ) 
    [1] => Array (
     [amount] => 2 
     [name] => Steve 
    ) 
    [2] => Array (
     [amount] => 5 
     [name] => 
    ) 
    [3] => Array (
     [amount] => 4 
     [name] => Chuck 
    ) 
    [4] => Array (
     [amount] => 
     [name] => Chuck 
    ) 
) 

최종 배열이되도록 [2] [4] 다음 각 이름에 대한 합계 합계 :

Array (
    [0] => Array (
     [amount] => 7 
     [name] => Chuck 
    ) 
    [1] => Array (
     [amount] => 2 
     [name] => Steve 
    ) 
) 
+0

코드를 시도 했습니까? –

답변

0

이 시도 :

$starting_array = array(...); // Initial array with your setup 
$final_array = array(); 
$sum = 0; 

foreach ($starting_array as $idx => $data) { 
    if (!empty($data['amount']) && !empty($data['name'])) { 
    $final_array[$idx] = $data; 
    $sum += $data['amount']; 
    } 
} 

// After looping through all of the items, $final_array should contain all 
// of the specific items that have an amount and name set. In addition, the 
// total of all of the amounts will be in $sum. 

는 PHP의 empty()를 살펴 보자. 참고 : 0이 허용 된 값인 경우 is_null()을 대신 사용할 수 있습니다.

+0

감사합니다 Aiias, 배열 청소를 위해 일했습니다. $ idx = $ data는 무엇을합니까? $ key => $ value와 비슷한가? 또한 각 이름의 값을 합산하기위한 조언이 있습니까? 다시 한번 감사드립니다. –

+0

@CameronMacfarlane - php'foreach' 루프에서 배열의 모든 항목을 반복합니다. 'foreach ($ ARRAY as $ KEY => $ VALUE)'구문을 사용하면 각 항목의 키와 해당 키의 값을 얻을 수 있습니다 (예 : 모든 키에 대해 $ ARRAY [$ KEY] = $ VALUE). '$ KEY'). 좀 더 자세한 설명은 php의 ['foreach'] (http://php.net/manual/en/control-structures.foreach.php)를 더 보길 권합니다. 각 이름의 값을 합산하는 관점에서 편집을 확인하십시오. – Aiias

+0

안녕하세요, Aiias, 다시 한 번 감사드립니다. foreach 루프에서 $ key => $ value가 작동하는 방식을 이해합니다. 나는 $ idx => $ 데이터가 동일하다는 것을 묻는 중이다. 나는이 구문을 본 적이 없다. 또한 각 이름에 대해 값의 합을 구하고 싶습니다. 나는 편집을 시도했다, 그것은 이름 금액을 합산하기 위해 작동하지 않았다. –