How to sum values from associative array if there is the same key in php laravel(如果php laravel中有相同的键,如何将关联数组中的值求和)
本文介绍了如果php laravel中有相同的键,如何将关联数组中的值求和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如下所示的简单代码:
$array = [
[11 => 771725],
[11 => 847226],
[10 => 410035],
[11 => 455387],
];
dd($array);
输出:
10月(10日)结果有1价:
["410035"]
11月(11日)有3个价格:
["771725", "847226", "455387"]
和在12月(12)为无
我需要逻辑来计算10个月、11个月和12个月的所有价格。 预期输出为
[
10 => "2074338",
11 => "410035",
12 => "0"
]
谢谢:)
推荐答案
我使用了Collection,最终得到了正确的结果。这可以通过以下几种方式实现:
方法1:
collect($array)
->groupBy(function ($item) {
return collect($item)->keys()->first();
})
->map(function ($items) {
return collect($items)->flatten()->sum();
});
方法2:
collect($array)
->groupBy(function ($item) {
return array_key_first($item);
})
->map(function ($items) {
return collect($items)->flatten()->sum();
});
方法3:
$default = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0,
];
collect($array)
->reduce(function ($carry, $item) {
$month = array_key_first($item);
$carry[$month] += $item[$month];
return $carry;
}, $default);
这篇关于如果php laravel中有相同的键,如何将关联数组中的值求和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如果php laravel中有相同的键,如何将关联数组中的值求和
基础教程推荐
猜你喜欢
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01