美文网首页
PHP 实现以日期分组的浏览足迹【运用场景:电商项目=》我的足迹

PHP 实现以日期分组的浏览足迹【运用场景:电商项目=》我的足迹

作者: mike_lp | 来源:发表于2020-05-13 10:54 被阅读0次

一、场景

场景一:

在电商项目中,用户的个人中心处,会存在我的历史足迹的入口,查看时,是以时间进行分组,倒排展示。

场景二:

在资源社区平台,用户中心处,会存在我的浏览足迹入口,查看时,也是以时间进行分组,倒排展示。

实现过程

通过数据库查询时,获取的内容是这样的

   array:5 [▼
    0 => array:6 [▼
        "id" => 20
        "user_id" => 200000000003
        "title" => "无人驾驶面临多项发展问题 L5级汽车或于2030年上路"
        "content_id" => 140000001153
        "content_type" => 14
        "save_time" => "2020-05-11T07:14:16.000000Z"
    ]
    1 => array:6 [▼
        "id" => 19
        "user_id" => 200000000003
        "title" => "汽车车灯控制系统的VHDL语言实现"
        "content_id" => 100000000850
        "content_type" => 10
        "save_time" => "2020-05-11T07:14:10.000000Z"
    ]
    2 => array:6 [▼
        "id" => 16
        "user_id" => 200000000003
        "title" => "BYTON推出首款智能电动车 2019年可以实现全面量产"
        "content_id" => 140000000380
        "content_type" => 14
        "save_time" => "2020-05-11T06:44:21.000000Z"
    ]
    3 => array:6 [▼
        "id" => 14
        "user_id" => 200000000003
        "title" => "TCL公布了其10系列智能手机的价格和规格"
        "content_id" => 140000002546
        "content_type" => 14
        "save_time" => "2020-05-11T06:37:13.000000Z"
    ]
    4 => array:6 [▼
        "id" => 8
        "user_id" => 200000000003
        "title" => "苹果意外在删除的支持视频中确认类似Tile的AirTag名称"
        "content_id" => 140000002534
        "content_type" => 14
        "save_time" => "2020-05-11T03:00:54.000000Z"
    ]
]

我们期望的效果是这样的

array:1 [▼
  "05月11日" => array:6 [▼
  0 => array:6 [▼
  "id" => 41
  "user_id" => 200000000003
  "title" => "字号大小设置"
  "content_id" => 100000024839
  "content_type" => 10
  "save_time" => "2020-05-11T10:35:14.000000Z"
]
1 => array:6 [▼
  "id" => 20
  "user_id" => 200000000003
  "title" => "无人驾驶面临多项发展问题 L5级汽车或于2030年上路"
  "content_id" => 140000001153
  "content_type" => 14
  "save_time" => "2020-05-11T07:14:16.000000Z"
]
2 => array:6 [▼
  "id" => 19
  "user_id" => 200000000003
  "title" => "汽车车灯控制系统的VHDL语言实现"
  "content_id" => 100000000850
  "content_type" => 10
  "save_time" => "2020-05-11T07:14:10.000000Z"
]
3 => array:6 [▼
  "id" => 16
  "user_id" => 200000000003
  "title" => "BYTON推出首款智能电动车 2019年可以实现全面量产"
  "content_id" => 140000000380
  "content_type" => 14
  "save_time" => "2020-05-11T06:44:21.000000Z"
]
4 => array:6 [▼
  "id" => 14
  "user_id" => 200000000003
  "title" => "TCL公布了其10系列智能手机的价格和规格"
  "content_id" => 140000002546
  "content_type" => 14
  "save_time" => "2020-05-11T06:37:13.000000Z"
]
5 => array:6 [▼
  "id" => 8
  "user_id" => 200000000003
  "title" => "苹果意外在删除的支持视频中确认类似Tile的AirTag名称"
  "content_id" => 140000002534
  "content_type" => 14
  "save_time" => "2020-05-11T03:00:54.000000Z"
]
]  

实现函数

if(!function_exists('group_by_time')){
function group_by_time($array){
    $curyear = date('Y');
    $list = [];
    foreach ($array as $k => $v) {
        if ($curyear == date('Y',strtotime($v['save_time']))) {
            $date = date('m月d日',strtotime($v['save_time']));
        } else {
            $date = date('Y年m月d日',strtotime($v['save_time']));
        }
        $list[$date][] = $v;
    }
    return $list;
}

}

相关文章

  • PHP 实现以日期分组的浏览足迹【运用场景:电商项目=》我的足迹

    一、场景 场景一: 场景二: 实现过程 通过数据库查询时,获取的内容是这样的 我们期望的效果是这样的 实现函数 }

  • 浅谈电商App之我的足迹

    最近有个新需求,就是做下电商App基本都有的功能-足迹,简单的说不就是浏览记录嘛。设计图是下面这样滴! 看上去设计...

  • iOS电商项目之我的

    我的界面分为头部、我的订单、我的收藏、我的足迹、优惠券、客服服务 我的足迹 按照日期排序进行展示,可以多选,单选删...

  • 千万级调用量微服务架构实践

    微服务架构在大型电商中的运用 电商是促销拉动式的场景,也是价格战驱动的场景。618和双11都是典型的促销活动。其实...

  • 千万级调用量微服务架构实践

    微服务架构在大型电商中的运用 电商是促销拉动式的场景,也是价格战驱动的场景。618和双11都是典型的促销活动。其实...

  • 千万级调用量微服务架构实践

    微服务架构在大型电商中的运用 电商是促销拉动式的场景,也是价格战驱动的场景。618和双11都是典型的促销活动。其实...

  • 我的足迹

    本学期…… 我读过的书: 我写过的文章: 我看过的电影: 我游历过的地方: 我新认识的人: 我参与的实践活动: ...

  • 我的足迹

    张家界有不一样的石头,石头又高,并且还壮里。 那里有许多不一样的石头,石头的姿态是意想不到的,有石头就像...

  • 我的足迹

    2018我的足迹

  • 我的足迹

    我叫张赛,爱好:听歌,性别:男,年龄:14,班级职场:组员,是南城中学初一(2)的学生。 生活中,我懂礼貌,有爱心...

网友评论

      本文标题:PHP 实现以日期分组的浏览足迹【运用场景:电商项目=》我的足迹

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