Суммирование всех элементов в подмассиве - PHP - PullRequest
2 голосов
/ 16 октября 2011

У меня есть следующий массив как $ main_array. Требуется суммировать все элементы в подмассиве, такие как [0] => 6, [1] => 11, [2] => 15.

Array 
( 
[0] => Array 
       ( 
         [0] => 1 
         [1] => 2 
         [2] => 3 
       ) 
[1] => Array 
       ( 
         [0] => 2 
         [1] => 4 
         [2] => 5 
       ) 
[2] => Array 
       ( 
         [0] => 8 
         [1] => 4 
         [2] => 3 
         ) 
)

Попробовал следующий код.

foreach ($main_array as $key => $value)
  $main_array[$key] = Array('1'=>array_sum($value));
print_r($main_array);

Но структура массива, которую я получил, была

Array 
( 
    [0] => Array 
    ( 
        [1] => 6 
    ) 
    [1] => Array 
    ( 
        [1] => 11
    ) 
    [2] => Array 
    ( 
        [1] => 15 
    ) 
)

Я ожидаю структуру массива следующим образом.

Array 
( 
    [0] => 6

    [1] => 11

    [2] => 15

)

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 16 октября 2011

Когда вы вызываете функцию Array, вы явно создаете массив, поэтому вы должны удалить его из Array('1'=>array_sum($value));

Вот так должен выглядеть ваш код

foreach ($main_array as $key => $value)
  $main_array[$key] = array_sum($value);
1 голос
/ 16 октября 2011

Попробуйте это:

  foreach ($main_array as $key => $value)
     $main_array[$key] = array_sum($value);

То есть поместите сумму непосредственно в массив верхнего уровня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...