PHP Group 数组值然后求和

标签 php arrays algorithm multidimensional-array

我怎样才能按成人价格分组,然后得到成人人数的总和。这是我的数组波纹管:

    Array
        (
        [0] => Array
            (
                [Reservation] => Array
                    (
                        [adult_price] => 2000
                        [adult_count] => 2
                    )
            )

        [1] => Array
            (
                [Reservation] => Array
                    (
                        [adult_price] => 2000
                        [adult_count] => 1
                    )
            )

        [2] => Array
            (
                [Reservation] => Array
                    (
                        [adult_price] => 300
                        [adult_count] => 1
                    )
            )
    )

如果 adult_price 与 adult_count 相加的时间相同,预期结果:

Array
    (
    [0] => Array
        (
            [Reservation] => Array
                (
                    [adult_price] => 2000
                    [adult_count] => 4
                )
        )

    [1] => Array
        (
            [Reservation] => Array
                (
                    [adult_price] => 300
                    [adult_count] => 1
                )
        )
)

请帮帮我谢谢!

最佳答案

试试这个:

$grouped = [];

foreach ($array as $item) {
    $item = $item["Reservation"];
    $currentValue = isset($grouped[$item["adult_price"]]) ? $grouped[$item["adult_price"]] : 0;
    $grouped[$item["adult_price"]] = $currentValue + $item["adult_count"];
}

$buildArray = [];

foreach ($grouped as $price => $count) {
    $buildArray[] = ["Reservation" => ["adult_price" => $price, "adult_count" => $count]];
}

print_r($buildArray);

https://3v4l.org/iZZ4m

关于PHP Group 数组值然后求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50801595/

相关文章:

javascript - ajax在wordpress中发送400错误请求错误

java - 错误数组维度缺失

c - 将 scanf 与 char 数组一起使用时遇到问题

java - 如何按交集过滤一组集合?

javascript - 如何在高空照片中高效地找到地平线?

php - 在 php 中比较两个日期的正确方法是什么?

php - 未提交附加字段值

javascript - 为什么我在 Js 中创建的数组中的随机数不重复?

java - java for循环内递归的时间复杂度

php - 保存数据时数据库出错