数组合并经典设计

//如果买桶 桶加入此人账户
            //查询该订单的桶信息
            
            $buckets = dr_imt_1_order_buckets($order_id);
            
            //如果有桶
            if($buckets){
                //如果买桶
                $number = array_sum(array_column($buckets, 'bucket_new_quantity'));
                if($number > 0){
                    $memberBuckets = json_decode(dr_member_info($this->uid)['buckets'], true) ?: [];
                    $res = [];
                    foreach($buckets as $key => $val) {
                        $res[$val['bucket_type_id']]['type'] = $val['bucket_type_id'];
                        $res[$val['bucket_type_id']]['num'] += $val['bucket_new_quantity'];
                    }
                    $memberBuckets = array_merge($memberBuckets, $res);
                    $result = [];
                    foreach($memberBuckets as $key => $val) {
                        $result[$val['type']]['type'] = $val['type'];
                        $result[$val['type']]['num'] += $val['num'];
                    }
                    $this->db->set('buckets', json_encode($result))->where('uid', $this->uid)->update('member');
                }
            }

 

有帮助(- 没帮助(-