php二维数组根据price值相加,和大于20的拆分成新的数组

发布于 2022-09-07 23:13:51 字数 2472 浏览 13 评论 0

问题描述

php二维数组根据price值相加,和大于20的拆分成新的数组

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
Array
(

[0] => Array
    (
        [inventory_type] => 1
        [order_goods] => Array
            (
                [0] => Array
                    (
                        [id] => 162646434
                        [price] => 7.65
                        [goods_id] => 274774
                    )

                [1] => Array
                    (
                        [id] => 162646435
                        [price] => 12.46
                        [goods_id] => 445018
                    )

                [2] => Array
                    (
                        [id] => 162646436
                        [price] => 17.00
                        [goods_id] => 461913
                    )

                [3] => Array
                    (
                        [id] => 162646437
                        [price] => 10.68
                        [goods_id] => 408752
                    )

            )

    )

)

你期待的结果是什么?实际看到的错误信息又是什么?

Array
(

[0] => Array
    (
        [inventory_type] => 1
        [order_goods] => Array
            (
                [0] => Array
                    (
                        [id] => 162646434
                        [price] => 7.65
                        [goods_id] => 274774
                    )

                [1] => Array
                    (
                        [id] => 162646435
                        [price] => 12.46
                        [goods_id] => 445018
                    )
            )

    )
[1] => Array
    (
        [inventory_type] => 1
        [order_goods] => Array
            (
             
                [0] => Array
                    (
                        [id] => 162646436
                        [price] => 17.00
                        [goods_id] => 461913
                    )

            )

    )
[2] => Array
    (
        [inventory_type] => 1
        [order_goods] => Array
            (
             
                [0] => Array
                    (
                        [id] => 162646437
                        [price] => 10.68
                        [goods_id] => 408752
                    )

            )

    )    

)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

℉絮湮 2022-09-14 23:13:51

自己已经写出来了!谢谢大家支持!

public function getData($list,$inventory_type){

    $slice = array();
    $newList = array();
    while (!empty($list)) {
        $first = array_shift($list);
        array_push($slice, $first);
        if (array_sum(array_column($slice,'avg_price')) > 650) {
            $last = array_pop($slice);
            array_unshift($list, $last);
            $newList['inventory_type'] = $inventory_type;
            $newList['order_goods'][] = $slice;
            $slice = array();
        }
        if (empty($list) && !empty($slice)) {
            $newList['inventory_type'] = $inventory_type;
            $newList['order_goods'][] = $slice;
            $slice = array();
        }
    }
    return $newList;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文