PHP 中实现浏览记录并按日期分组的实例代码

 更新时间:2017年7月6日 23:49  点击:1827
这篇文章主要介绍了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"

 }

}

 

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

 

 代码如下复制代码

show me the code:

/* 浏览记录按日期分组 */

functiongroupVisit($visit)

{

 $curyear=date('Y');

 $visit_list= [];

 foreach($visitas$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两种实现无级递归分类的方法,非常实用,有兴趣的同学快来看看吧

 

 代码如下复制代码

/**

* 无级递归分类 TP框架

* @param int $assortPid 要查询分类的父级id

* @param mixed $tag  上下级分类之间的分隔符

* @return string $tree 返回的分类树型结构结果

*

*/

functionrecursiveAssort($assortPid,$tag='')

{

 $assort= M('goods_class')->where("class_pid = $assortPid")->field('class_id, class_name')->select();

 foreach($assortas$value) {

 $tree.='

 $tree.= recursiveAssort($value['class_id'],$tag.' ');

 }

 return$tree;

}

 

 

 代码如下复制代码

/**

 * 利用php的引用传递 CI框架

 *

 */

 publicfunctionget_access()

 {

 $access=array();

 $field='id, pid, method, name, description'

 $q_access=$this->db->select($field)->get('access');

 $q_result=$q_access->result_array();

 if(!empty($q_result)) {

  $items=array();

  foreach($q_resultas$value) {

  $items[$value['id']] =$value;

  }

  foreach($itemsas$key=>$item) {

  if($item['pid'] == 0) {

   $access[] = &$items[$key];

  }else{

   $items[$item['pid']]['sub_access'][] = &$items[$key];

  }

  }

 }

 return$access;

 }

 

本文介绍了PHP 二级子目录(后台目录)设置二级域名的教程,不会的同学可以看看

我们可以利用Apache的.htaccess重写来实现301跳转,具体操作方法是--将后台的根目录文件夹中的.htaccess文件添加内容为:

 

 代码如下 复制代码

<IfModulemod_rewrite.c>

  RewriteEngine on

  RewriteCond %{HTTP_HOST}  ^www\.test\.com$ [NC]

  RewriteRule ^(.*)$  http://xxx.test.com [R=301,L]

</IfModule>

 

本文介绍了php安装dblib扩展,连接mssql的具体步骤,非常实用,有兴趣的同学快来看看吧

1、先安装freetds 然后修改配置文件

不要装0.82版本,会报编译失败

Compile Failure With freetds0.82

进到freetds目录下编译安装

./configure --prefix=/usr/local/freetds --enable-msdblib --enable-sybase-compat   --disable-threadsafe

make

make install

2、再装mssql

进到目录下编译安装

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds

make

make install

3、再装dblib

进到目录下编译安装

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
make
make install

4、修改php.ini

extension=mssql.so
extension=pdo_dblib.so

tsql客户端连接的命令

/usr/local/freetds/bin/tsql -H 192.168.1.100 -p 1433 -U sa -P 123456 -D user

修改配置文件

/usr/local/freetds/etc/freetds.conf 配置文件位置
tds version = 8.0 //修改
client charset = UTF8 //新增

如果连不上数据库,就检查一下版本,将/usr/local/freetds/etc/freetds.conf中global选项中tds version = 8.0

如果查到的结果是乱码,更改/usr/local/freetds/etc/freetds.conf将global中添加了一条client charset = UTF8

Adaptive Server is unavailable or does not exist” error connecting to SQL Server from PHP    是没加端口引起的

要加端口不然连不上

'dblib:host=192.168.8.888:1433;dbname=xxxx'

[!--infotagslink--]

相关文章

  • R语言-如何按照某一列分组求均值

    这篇文章主要介绍了R语言实现按照某一列分组求均值的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • PHP怎么实现根据数组的值进行分组 有什么方法

    PHP是现在很多用户使用的软件,用途很多并且有很大的作用。今天文章就给大家介绍个实例:PHP怎么实现根据数组的值进行分组,感兴趣的赶紧来看看。 本文实例讲述了PHP实...2017-07-06
  • pandas 实现某一列分组,其他列合并成list

    这篇文章主要介绍了pandas 实现某一列分组,其他列合并成list的案例。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-26
  • Java在Excel中创建多级分组、折叠或展开分组的实现

    这篇文章主要介绍了Java在Excel中创建多级分组、折叠或展开分组的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-28
  • oracle日期分组查询的完整实例

    这篇文章主要给大家介绍了关于oracle日期分组查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-07
  • Devexpress中Gridcontrol查找分组

    本文通过实例代码给大家介绍了Devexpress中Gridcontrol查找分组的方法,非常不错,具有一定的参考价诶接价值,需要的朋友一起看看吧...2021-09-22
  • C#创建Excel多级分组的方法

    这篇文章主要为大家详细介绍了C#创建Excel多级分组的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • js正则表达式之前瞻后顾与非捕获分组

    话说自从学前端以来听到过多次这样的"笑话",程序员分为会正则的和不会正则的,可见正则的重要性,这篇文章主要给大家介绍了关于js正则表达式之前瞻后顾与非捕获分组的相关资料,需要的朋友可以参考下...2021-10-14
  • 深入浅析Extjs中store分组功能的使用方法

    这篇文章主要介绍了深入浅析Extjs中store分组功能的使用方法的相关资料,需要的朋友可以参考下...2016-04-22
  • pandas 实现分组后取第N行

    这篇文章主要介绍了pandas 实现分组后取第N行的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-26
  • 详解MySQL 数据分组

    这篇文章主要介绍了MySQL 数据分组的相关资料,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下...2020-12-21
  • 正则表达式之分组的回溯引用问题

    这篇文章主要介绍了正则表达式之分组的回溯引用问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • PHP 根据key 给二维数组分组

    这篇文章主要介绍了PHP 根据key 给二维数组分组的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2017-01-08
  • PHP 中实现浏览记录并按日期分组的实例代码

    这篇文章主要介绍了PHP 实现浏览记录并按日期分组的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下 现有测试数据如下,要求实现如下图中的效果: 代码如...2017-07-06
  • PHP 实现浏览记录并按日期分组

    这篇文章主要介绍了PHP 实现浏览记录并按日期分组的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2017-05-21
  • C#开发微信门户及应用(5) 用户分组信息管理

    这篇文章主要为大家详细介绍了C#开发微信门户及应用第五篇,用户分组信息管理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • ASP.NET微信公众号之用户分组管理web页面

    这篇文章主要为大家详细介绍了ASP.NET微信公众号之用户分组管理web页面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • 在数据库中 如何进行分类分组并总计SQL信息

    您需要了解如何使用某些SQL子句和运算符来安排SQL数据,从而对它进行高效分析。下面这些建议告诉您如何建立语句,获得您希望的结果。 以有意义的方式安排数据可能是一种...2016-11-25
  • NPOI实现两级分组合并功能(示例讲解)

    下面小编就为大家分享一篇NPOI实现两级分组合并功能的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • 用Python监控你的朋友都在浏览哪些网站?

    今天教各位小伙伴一个黑科技,用Python监控你的朋友都在浏览哪些网站,文中有非常详细的介绍,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下...2021-05-28