Top.Mail.Ru
Ответы

Посчитать сумму многомерного массива

Всем привет, подскажите пожалуйста, как посчитать сумму ячеек ch_all многомерного массива.
Массив декодирую в переменную из json файла. Пробовал с помощью функций array_sum и array_column, но безуспешно.

________JSON__________

Array
(
[0] => Array
(
[year] => 20
[np_kama] => Array
(
[ch] => Array
(
[ch_all] => 10
[ch_result_smena] => 33
[ch_2_sutok] => 18
[ch_3_5_sutok] => 15
)

[chd] => Array
(
[chd_all] => 0
[chd_result_smena] => 0
[chd_2_sutok] => 0
[chd_3_5_sutok] => 0
)

[fakt] => Array
(
[fakt_all] => 0
[fakt_result_smena] => 0
[fakt_2_sutok] => 0
[fakt_3_5_sutok] => 0
)

)

)

[1] => Array
(
[year] => 20
[np_borok] => Array
(
[ch] => Array
(
[ch_all] => 20
[ch_result_smena] => 9
[ch_2_sutok] => 9
[ch_3_5_sutok] => 0
)

[chd] => Array
(
[chd_all] => 33
[chd_result_smena] => 9
[chd_2_sutok] => 9
[chd_3_5_sutok] => 0
)

[fakt] => Array
(
[fakt_all] => 17
[fakt_result_smena] => 0
[fakt_2_sutok] => 0
[fakt_3_5_sutok] => 0
)

)

)

[2] => Array
(
[year] => 20
[np_sholiya] => Array
(
[ch] => Array
(
[ch_all] => 10
[ch_result_smena] => 3
[ch_2_sutok] => 2
[ch_3_5_sutok] => 3
)

[chd] => Array
(
[chd_all] => 0
[chd_result_smena] => 0
[chd_2_sutok] => 0
[chd_3_5_sutok] => 0
)

[fakt] => Array
(
[fakt_all] => 0
[fakt_result_smena] => 0
[fakt_2_sutok] => 0
[fakt_3_5_sutok] => 0
)

)

)
)

По дате
По рейтингу
Аватар пользователя
Новичок
5лет

$sum = 0;
array_walk_recursive($array, function($val, $key) use (&$sum) {
if ($key === 'ch_all') { $sum += $val; }
});
echo $sum;