Сделать сумму массива php - PullRequest
       3

Сделать сумму массива php

1 голос
/ 01 октября 2011

У меня есть двумерный массив, который передается функцией, которая выглядит следующим образом

function crash_reporter($evaluation){

foreach ($evaluation as $agent){    

    unset($agent['time']);


    print_r($agent);

}

, чем я получаю следующий массив, и я изо всех сил пытаюсь получить суммуиндексированные значения.

Array
(
    [agent_example1] => 0
    [agent_example2] => 2
    [agent_example3] => 0
    [agent_example4] => 1
    [] => 0
)
Array
(
    [agent_example1] => 0
    [agent_example2] => 1
    [agent_example3] => 0
    [agent_example4] => 0
    [] => 0
)
Array
(
    [agent_example1] => 0
    [agent_example2] => 3
    [agent_example3] => 0
    [agent_example4] => 0
    [] => 0
)

        )
)

result should be int. 7

Ответы [ 3 ]

2 голосов
/ 01 октября 2011

Вы можете попробовать что-то вроде этого:

function sum_2d_array($outer_array) {
    $sum = 0;
    foreach ($outer_array as $inner_array) {
        foreach ($inner_array as $number) {
            $sum += $number;
        }
    }
    return $sum;
}
1 голос
/ 01 октября 2011

Или еще проще:

function crash_reporter($evaluation){

    $sum = 0;
    foreach ($evaluation as $agent){    
        unset($agent['time']);
        $sum += array_sum($agent);
    }
    echo $sum;
}
0 голосов
/ 01 октября 2011

Вы можете суммировать суммы каждого подмассива ($agent) после цикла foreach/unset, например:

$sum = array_sum(array_map('array_sum', $evaluation));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...