温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP如何实现浏览记录并按日期分组

发布时间:2021-05-21 14:14:21 来源:亿速云 阅读:224 作者:小新 栏目:开发技术

这篇文章主要介绍PHP如何实现浏览记录并按日期分组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

现有测试数据如下,要求实现如下图中的效果:

array(4) {  [0] => array(6) {  ["visit_id"] => int(127)  ["goods_id"] => int(16)  ["visittime"] => int(1494399935)  ["goods_name"] => string(53) "OPPO R9s 全网通4G+64G 双卡双待手机 玫瑰金"  ["shop_price"] => string(6) "500.00"  }  [1] => array(6) {  ["visit_id"] => int(124)  ["goods_id"] => int(13)  ["visittime"] => int(1494399921)  ["goods_name"] => string(76) "SIEMENS/西门子 KA92NV09TI双开门家用对开门电冰箱变频旗舰款"  ["shop_price"] => string(7) "4000.00"  }  [2] => array(6) {  ["visit_id"] => int(123)  ["goods_id"] => int(27)  ["visittime"] => int(1494399903)  ["goods_name"] => string(85) "爱他美白金版Aptamil 幼儿配方奶粉3段(12-36个月适用)900g(欧洲进口)"  ["shop_price"] => string(6) "329.00"  }  [3] => array(6) {  ["visit_id"] => int(120)  ["goods_id"] => int(26)  ["visittime"] => int(1494224263)  ["goods_name"] => string(21) "欢乐谷免票一张"  ["shop_price"] => string(5) "50.00"  } }

PHP如何实现浏览记录并按日期分组

还没实现之前我想这个代码不知道要O(n)呢还是更高的复杂度才能实现,细想一下,其实php的数组底层就是哈希实现的,如何简单利用这个特性使复杂度降到O(1)呢?

show me the code:

/* 浏览记录按日期分组 */ function groupVisit($visit) {  $curyear = date('Y');  $visit_list = [];  foreach ($visit as $v) {   if ($curyear == date('Y', $v['visittime'])) {    $date = date('m月d日', $v['visittime']);   } else {    $date = date('Y年m月d日', $v['visittime']);   }   $visit_list[$date][] = $v;  }  return $visit_list; }

说明:入参 $visit 就是上面一开始的测试数据,函数中还对用户体验做了一些优化,比如,你的浏览记录中总是显示出今年的年份,是不是感觉有点冗余,所以如果是本年份的话,年份就要隐藏起来,其他年份还是照样显示出来。不然代码会更加简洁。

好了上面的测试数据经过该函数之后,再把返回值打印出来,有:

array(2) {  ["05月10日"] => array(3) {  [0] => array(6) {   ["visit_id"] => int(127)   ["goods_id"] => int(16)   ["visittime"] => int(1494399935)   ["goods_name"] => string(53) "OPPO R9s 全网通4G+64G 双卡双待手机 玫瑰金"   ["shop_price"] => string(6) "500.00"  }  [1] => array(6) {   ["visit_id"] => int(124)   ["goods_id"] => int(13)   ["visittime"] => int(1494399921)   ["goods_name"] => string(76) "SIEMENS/西门子 KA92NV09TI双开门家用对开门电冰箱变频旗舰款"   ["shop_price"] => string(7) "4000.00"  }  [2] => array(6) {   ["visit_id"] => int(123)   ["goods_id"] => int(27)   ["visittime"] => int(1494399903)   ["goods_name"] => string(85) "爱他美白金版Aptamil 幼儿配方奶粉3段(12-36个月适用)900g(欧洲进口)"   ["shop_price"] => string(6) "329.00"  }  }  ["05月08日"] => array(1) {  [0] => array(6) {   ["visit_id"] => int(120)   ["goods_id"] => int(26)   ["visittime"] => int(1494224263)   ["goods_name"] => string(21) "欢乐谷免票一张"   ["shop_price"] => string(5) "50.00"  }  } }

对的,这正是我想要的效果。

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

以上是“PHP如何实现浏览记录并按日期分组”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI