数组,如何将一些值传递给第一个值? (提供的插图)[关闭]

问题描述 投票:-1回答:1

下图显示了我的阵列。正如您在标记的黄色框中看到的那样,我希望将这些值转移到第一个值。所有这些值都具有相同的furniture_id标有红色圆圈。有可能做到这些吗?

my array

php arrays laravel
1个回答
1
投票

简单的laravel要做的是:

$result = collect($array)->groupBy("furniture_id")
            ->map(function ($group) {
                   return collect($group)
                          ->reduce(function ($carry, $groupItemObject) {
                               $groupItem = (array) $groupItemObject;
                               if ($carry == null) {
                                   $carry = array_only($groupItem, ["furniture_id", "furniture_date", "cust_id"]) + [ "price_type" => [ ] ]; //Initial
                               } 
                               $carry["price_type"][] = array_only($groupItem, [ "price", "furniture_type" ]);
                               return $carry;
                         });
            });

这样做首先通过furniture_id对所有内容进行分组,然后将组映射到仅对价格和类型进行分组的单个条目。

© www.soinside.com 2019 - 2024. All rights reserved.