PHP 浏览历史记录【很简单两步就搞定】

PHP 浏览历史记录[很简单两步就搞定]

什么是 Cookie?

    cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
实现思路:

  • 第一步:
        存入cookie/更新:【存入时先判断是否存在cookie,如果存在那就进行数据处理让新的值放在最前面更新cookie否则为存入cookie】
  • 第二步:
        提出cookie中信息【判断是否存在cookie,存在的话用$_COOKIE 进行对value提出再进行数据处理将其转化为数组形式】

常用函数:
[1]  setcookie() —   [setcookie(name, value, expire, path, domain);] 设置 cookie [value 为一串以 ,分隔的字符串]
[2]  $_COOKIE —   变量用于取回 cookie 的值 [超全局变量 大写]
[3]  explode —   使用一个字符串分割另一个字符串 [常用将字符串打撒组合为数组,新数组为索引型数组]

	$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
	$pieces = explode(" ", $pizza);
	echo $pieces[0]; // piece1
	echo $pieces[1]; // piece2

array_map — 将回调函数作用到给定数组的单元上
intval — 获取变量的整数值
array_unique – 移除数组中的重复元素
array_unshift — 在数组开头插入一个或多个单元
implode — 将一个一维数组的值转化为字符串 【作用和 explode 相反】

学习链接

	$array = array('lastname', 'email', 'phone');
	$comma_separated = implode(",", $array);
	echo $comma_separated; // lastname,email,phone[一串字符]

实现:
    cookie name = id

// 存入 cookie
	if(isset($_COOKIE['id'])){
		$historyId = explode(',',$_COOKIE['id']); // 将cookie中value值【字符串型】转为数组
		$historyId = array_map('intval',$historyId); // 进行数据处理将ID转为整数型
		array_unshift($historyId,$id); // 将新ID插入到数组首位
		$historyId = array_unique($historyId); // 删除重复元素
	}else{

			$historyId = [$id]; // 直接存入到数组中
		}
	$historyId = implode(',',$historyId); // 将得到的存放历史ID的数组进行字符串处理
	setcookie('id',$historyId); // 存入 cookie 中

	// 提取 cookie 值

    $historyData = []; // 初始化历史记录信息为数组
    if(isset($_COOKIE['id'])){
        $historyData = explode(',',$_COOKIE['id']);  // 将value字符串转为数组
        $historyData = array_map('intval',$historyData); // 对数组值进行处理
    }
    print_r($historyData); // Array ( [0] => 10 [1] => 7 [2] => 1 [3] => 5 [4] => 8 [5] => 4 [6] => 6 [7] => 2 [8] => 9 [9] => 3 )

在这里插入图片描述

只是基础知识,望大家多多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值