探讨多键值cookie(php中cookie存取数组)的详解

yipeiwu_com5年前PHP代码库

cookie默认不能存数组,所以下面的写法是错误的。
报错如下:
Warning: setcookie() expects parameter 2 to be string, array given in
但是PHP可以把同名且后面以[]结尾的cookie解析为数组。在php里面实现cookie存数组的方法如下:

方法一:先用serialize序列化数组,再存入COOKIE   ,读出来时用unserialize得到原来的数组

方法二:设定多键值cookie,注意必须给键值

复制代码 代码如下:

$arr = array(1,2,3);  
setcookie("a[0]", $arr[0]);  
setcookie("a[1]", $arr[1]);  
setcookie("a[2]", $arr[2]); 

结果:数组所有元素都存到了。
数组长度 :3
Array ( [0] => 1 [1] => 2 [2] => 3 )

以下写法是错误的:
复制代码 代码如下:

$arr = array(1,2,3);  
setcookie("a[]", $arr[0]);  
setcookie("a[]", $arr[1]);  
setcookie("a[]", $arr[2]); 

结果:只存了最后一个元素
数组长度 :1
Array ( [0] => 3 )

相关文章

解析CI的AJAX分页 另类实现方法

看了一下CI的分页类没有写到关于AJAX的内容,也在论坛上看到其他几位大神写的分页类扩展,感觉其实是没有必要。在现有的基础上做了一下小小的改动还是能实现的。下面进入正题:CI的原生分页类...

PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析

本文实例讲述了PHP排序算法之直接插入排序(Straight Insertion Sort)。分享给大家供大家参考,具体如下: 算法引入: 在这里我们依然使用《大话数据结构》里面的一个例...

浅析php插件 HTMLPurifier HTML解析器

浅析php插件 HTMLPurifier HTML解析器

HTMLPurifier插件的使用下载HTMLPurifier插件HTMLPurifier插件有用的部分是 library 使用HTMLPurifier library类库第一种方式复制...

jq的get传参数在utf-8中乱码问题的解决php版

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E...

PHP实现无限极分类的两种方式示例【递归和引用方式】

本文实例讲述了PHP实现无限极分类的两种方式。分享给大家供大家参考,具体如下:面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类...