2017-02-06 2 views
-1

Ich habe ein Array und es gibt mir wie folgt zurück. Ich muss ihre Werte hinzufügen, aber abhängig vom Konto "cuenta", Zweig "ramo", Unterzweig "subramo", spezifisch "especifica" oder sub-spezifisch "subespecifica".Summe in einem multidimensionalen PHP-Array

array(5) { 
    [0]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "2" 
    ["especifica"]=> 
    string(2) "19" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(6) "354.00" 
    } 
    [1]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "2" 
    ["especifica"]=> 
    string(2) "11" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(6) "543.74" 
    } 
    [2]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "2" 
    ["especifica"]=> 
    string(2) "11" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(6) "985.54" 
    } 
    [3]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "1" 
    ["especifica"]=> 
    string(1) "8" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(6) "177.00" 
    } 
    [4]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "1" 
    ["especifica"]=> 
    string(1) "2" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(5) "88.50" 
    } 
} 

Ich muss die Gesamtmenge je nach dem, was ich gerade erwähnt habe, zurückgeben. das heißt:

array(4) { 
    [0]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "2" 
    ["especifica"]=> 
    string(2) "19" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(6) "354.00" 
    } 
    [1]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "2" 
    ["especifica"]=> 
    string(2) "11" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(6) "1529.28" 
    } 
    [2]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "1" 
    ["especifica"]=> 
    string(1) "8" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(6) "177.00" 
    } 
    [3]=> 
    array(6) { 
    ["cuenta"]=> 
    string(1) "1" 
    ["ramo"]=> 
    string(1) "1" 
    ["subramo"]=> 
    string(1) "1" 
    ["especifica"]=> 
    string(1) "2" 
    ["subespecifica"]=> 
    string(1) "0" 
    ["costo"]=> 
    string(5) "88.50" 
    } 
} 

Antwort

1

könnten Sie verwenden array_map:

<?php 

$input = array(
    array(
     'first' => 1, 
     'second' => 2, 
    ), 
    array(
     'third' => 3 
    ) 
); 

echo array_sum(array_map(function($arr) { 
    return array_sum($arr); 
}, $input)); // Outputs 6 
Verwandte Themen