php浏览历史记录的方法

yipeiwu_com7年前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程序设计有所帮助。

相关文章

php中debug_backtrace、debug_print_backtrace和匿名函数用法实例

本文实例讲述了php中debug_backtrace、debug_print_backtrace和匿名函数用法。分享给大家供大家参考。具体分析如下: debug_print_backtr...

关于使用coreseek并为其做分页的介绍

coreseek 做分页时找数据总量还真不好找。以为他会给一个方法(函数)什么的去获取,结果却不是。首先需要了解:num_matches: 当前返回的结果数,<= limit设置值...

php中经典方法实现判断多维数组是否为空

复制代码 代码如下://判断一个数组是否为空 /** array( ); 空 array( array( ), array( ), array( ) ); 空 array( array(...

解决Laravel blade模板转义html标签的问题

解决Laravel blade模板转义html标签的问题

解决Laravel blade模板转义html标签的问题: 后台textarea提交到表里面的数据展现到前端页面时(在后台已使用nl2br()函数进行转换),直接显示如下: 很尴尬!!...

PHP获取MSN好友列表类的实现代码

复制代码 代码如下:<?phperror_reporting(7);class msn{    private $startcomm = 0;&nbs...