美文网首页PHP经验分享PHP实战
数组合并并根据时间字段排序

数组合并并根据时间字段排序

作者: 张大娃创业笔记 | 来源:发表于2019-04-19 16:29 被阅读2次

第一种方法

 $chongzhi = Db::name('user_money_log')->where('user_id', $this->user_id)->whereTime('createtime', 'between', [$start, $end])->field('money,memo,createtime as pay_time')->select();
        $xiaofei = $this->ordermodel->where('user_id', $this->user_id)->where(['pay_status' => '20'])->whereTime('pay_time', 'between', [$start, $end])->field('coupon_price,pay_type,pay_time,pay_price,balance_price')->select();
        $data = array_merge($chongzhi, $xiaofei);
        function array_sort($array, $keys, $type = 'asc')
        {
            //$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序
            $keysvalue = [];
            $new_array = array();
            foreach ($array as $k => $v) {
                $keysvalue[$k] = $v[$keys];
            }
            if ($type == 'asc') {
                asort($keysvalue);
            } else {
                arsort($keysvalue);
            }
            foreach ($keysvalue as $k => $v) {
                $new_array[] = $array[$k];
            }
            return $new_array;
        }
        $hot_cat = array_sort($data, 'pay_time', 'desc'); //此处对数组进行降序排列

第二种方法

 $data = array_merge($chongzhi, $xiaofei);
        foreach ($data as $k => $v) {
            $edition[] = $v['pay_time'];
        }
        array_multisort($edition, SORT_DESC, $data);
        $this->success('获取成功', $data);

相关文章

网友评论

    本文标题:数组合并并根据时间字段排序

    本文链接:https://www.haomeiwen.com/subject/fwhcgqtx.html