我有一个多维数组,格式如下:
array (
0 =>
array (
'manual' => 1,
'cancelled' => 1,
'expired' => 1,
'earned' => 1,
'user' =>
array (
'user1' => 1,
'user2' => 1,
'user3' => 1,
'user4' => 1,
),
'transfer' =>
array (
'transfer1' =>
array (
'key1' => 1,
'key2' => 1,
'key3' => 1,
),
'transfer2' =>
array (
'key5' => 1,
'key6' => 1,
'key7' => 1,
),
),
'date' => '2018-03-07',
),
1 =>
array (
'manual' => 1,
'cancelled' => 1,
'expired' => 1,
'earned' => 1,
'user' =>
array (
'user1' => 1,
'user2' => 1,
'user3' => 1,
'user4' => 1,
),
'transfer' =>
array (
'transfer1' =>
array (
'key1' => 1,
'key2' => 1,
'key3' => 1,
),
'transfer2' =>
array (
'key5' => 1,
'key6' => 1,
'key7' => 1,
),
),
'date' => '2018-03-08',
),
我需要计算具有相同索引的数组值的总和。因此,总数组应如下所示:
Array
(
[total] => Array
(
[manual] => 2
[cancelled] => 2
[expired] => 2
[earned] => 2
[user] => Array
(
[user1] => 2
[user2] => 2
[user3] => 2
[user4] => 2
)
[transfer] => Array
(
[transfer1] => Array
(
[key1] => 2
[key2] => 2
[key3] => 2
)
[transfer2] => Array
(
[key5] => 2
[key6] => 2
[key7] => 2
)
)
除了日期外,总数应该具有相同的格式,但需要显示值的总和。如何在PHP中实现这一点?我已经使用了以下代码:
$final = array_shift($input);
foreach ($final as $key => &$value){
$value += array_sum(array_column($input, $key));
}
unset($value);
var_dump($final);
其中$input
被视为第一个数组,$final
是总数。我认为这仅适用于单个索引。