关联数组,同样关键的和值 [英] Associative array, sum values of the same key
本文介绍了关联数组,同样关键的和值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我有这样的关联数组(转储编制品完成)
So I have this associative array (dump done with kint)
ð
d
而不必关键会议
重复3次。我想拥有它只有一次,为了有类似求和的3个值到一个:
Instead of having the key "Conference
" repeating 3 times. I want to have it just once and sum the 3 values into one in order to have something like:
会议:4534
而对于那些重复。所有其他按键一样的东西。
And same thing for all other keys that are repeating..
是否有原生功能,能够做到这一点?
Is there a native function that can do that ?
推荐答案
您可以尝试
$data = array(
0 => array(
'event' => 'Conference',
'budget' => 3700,
),
1 => array(
'event' => 'Conference',
'budget' => 500,
),
2 => array(
'event' => 'Showroom',
'budget' => 1000,
),
3 => array(
'event' => 'Mission Chez client',
'budget' => 2000,
),
4 => array(
'event' => 'Séminaire',
'budget' => 700,
),
5 => array(
'event' => 'Livraison',
'budget' => 4000,
),
6 => array(
'event' => 'Conference',
'budget' => 334,
),
);
$sum = array_reduce($data, function ($a, $b) {
isset($a[$b['event']]) ? $a[$b['event']]['budget'] += $b['budget'] : $a[$b['event']] = $b;
return $a;
});
print_r(array_values($sum));
输出
Array
(
[0] => Array
(
[event] => Conference
[budget] => 4534
)
[1] => Array
(
[event] => Showroom
[budget] => 1000
)
[2] => Array
(
[event] => Mission Chez client
[budget] => 2000
)
[3] => Array
(
[event] => Séminaire
[budget] => 700
)
[4] => Array
(
[event] => Livraison
[budget] => 4000
)
)
这篇关于关联数组,同样关键的和值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文