随着 web 应用程序的不断发展,数据的处理和分析也变得越来越重要。而多维数组的使用是 web 开发中的常见情况。对于 php 中的多维数组,分组求和是一种经常需要的操作。本文将重点介绍 php 多维数组分组求和的实现方法。
首先,让我们来看一个例子,假设我们有一个包含产品名称、销售日期和销售额的多维数组,如下所示:
1
2
3
4
5
6
7
8
$sales = array(
array(“product” => “A”, “date” => “2022-01-01”, “sales” => 100),
array(“product” => “B”, “date” => “2022-01-02”, “sales” => 200),
array(“product” => “C”, “date” => “2022-01-03”, “sales” => 250),
array(“product” => “B”, “date” => “2022-01-04”, “sales” => 150),
array(“product” => “A”, “date” => “2022-01-05”, “sales” => 300),
array(“product” => “C”, “date” => “2022-01-06”, “sales” => 400),
);
我们想要按照产品名称对销售额进行求和,可以通过如下代码实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$sum = array(); // 定义存放结果的数组
foreach ($sales as $sale) {
$product = $sale[“product”]; // 获取产品名称
$salesAmt = $sale[“sales”]; // 获取销售额
// 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素
if (!array_key_exists($product, $sum)) {
$sum[$product] = 0;
}
// 将销售额加入该产品名称对应的数组元素中
$sum[$product] += $salesAmt;
}
print_r($sum); // 输出结果
?>
上述代码的输出结果如下:
1
2
3
4
5
6
Array
(
[A] => 400
[B] => 350
[C] => 650
)
代码实现的思路是,使用 foreach 循环遍历多维数组中的每个数组元素,获取该元素的产品名称和销售额。然后,通过判断该产品名称是否已经存在于存放结果的数组中,如果不存在,则创建一个以该产品名称为键的数组元素。最后,将销售额加入该产品名称对应的数组元素中。遍历完毕后,即可得到每个产品名称对应的销售额总和。
我们还可以按照多个条件进行分组求和。例如,在上述例子中,若要按照产品名称和销售日期分组求和,则可以通过以下代码实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$sum = array(); // 定义存放结果的数组
foreach ($sales as $sale) {
$product = $sale[“product”]; // 获取产品名称
$date = $sale[“date”]; // 获取销售日期
$salesAmt = $sale[“sales”]; // 获取销售额
// 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素
if (!array_key_exists($product, $sum)) {
$sum[$product] = array();
}
// 如果该销售日期不存在,则创建一个以该销售日期为键的数组元素
if (!array_key_exists($date, $sum[$product])) {
$sum[$product][$date] = 0;
}
// 将销售额加入该产品名称和销售日期对应的数组元素中
$sum[$product][$date] += $salesAmt;
}
print_r($sum); // 输出结果
?>
上述代码输出的结果如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Array
(
[A] => Array
(
[2022-01-01] => 100
[2022-01-05] => 300
)
[B] => Array
(
[2022-01-02] => 200
[2022-01-04] => 150
)
[C] => Array
(
[2022-01-03] => 250
[2022-01-06] => 400
)
)
代码实现的思路与之前的例子类似,只是在存放结果的数组中,每个数组元素又创建了一个以销售日期为键的数组。这样,可以方便地按照产品名称和销售日期进行分组求和。
总结一下,php 中多维数组的分组求和是一种常见的操作。在实现时,我们可以利用 foreach 循环遍历数组中的各个数组元素,并根据需要创建新的数组元素,从而实现分组求和的功能。当然,对于数据量较大的情况,我们也可以通过使用 php 的 array_reduce() 函数等高级函数来完成相应的操作,提高代码的执行效率和运行速度。
以上就是php 多维数组分组求和的详细内容,更多请关注php中文网其它相关文章!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
暂无评论内容