php浏览历史记录的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php浏览历史记录的方法。分享给大家供大家参考。具体实现方法如下:

/**
 * 商品历史浏览记录
 * $data 商品记录信息
 */
private function _history($data)
{
  if(!$data || !is_array($data))
  {
    return false;
  }
  //判断cookie类里面是否有浏览记录
  if($this->_request->getCookie('history'))
  {
    $history = unserialize($this->_request->getCookie('history'));
    array_unshift($history, $data); //在浏览记录顶部加入
    /* 去除重复记录 */
    $rows = array();
    foreach ($history as $v)
    {
      if(in_array($v, $rows))
      {
        continue;
      }
      $rows[] = $v;
    }
    /* 如果记录数量多余5则去除 */
    while (count($rows) > 5)
    {
      array_pop($rows); //弹出
    }
    setcookie('history',serialize($rows),time()+3600*24*30,'/');
  }
  else
  {
    $history = serialize(array($data));
    setcookie('history',$history,time()+3600*24*30,'/');
  }
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

linux下使用ThinkPHP需要注意大小写导致的问题

弄了一下午,偶然想起linux是识别文件大小写的,查看了一下代码,发现实例化类的时候并没有注意文件大小写。如 $dao = D("inventoryview") 对应的视图文件是Inve...

两千行代码的PHP学习笔记汇总

本文汇总了PHP学习中常见的各类问题,约有两千多行代码,都是非常实用的技巧。分享给大家供大家参考。具体如下: //语法错误(syntax error)在语法分析阶段,源代码并未被执行...

解析左右值无限分类的实现算法

一、引言产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提...

解析curl提交GET,POST,Cookie的简单方法

复制代码 代码如下:<?php$get_data = array (    "get1"=> "get1",   ...

php找出指定范围内回文数且平方根也是回文数的方法

本文实例讲述了php找出指定范围内回文数且平方根也是回文数的方法。分享给大家供大家参考。具体如下: 一、要求: 给出两个数值X和Y,统计在这个区间里的回文数,并且要求它们的平方根也是回文...