php 多键值 cookie 操作的例子
本文介绍下,
php 中有关多键值 cookie 操作的例子,有需要的朋友参考下。
在
php 中,cookie 默认不能保存在数组中。
报错如下:
Warning: setcookie() expects parameter 2 to be string, array given in
但是
PHP 可以把同名且后面以[]结尾的 cookie 解析为数组。
分享二个实现
cookie 存数组的方法。
方法一:先用
serialize 序列化数组,再存入 COOKIE,读出来时用 unserialize 得到原来的数
组。
<?php
//存入
$arr = array(1,2,3);
$arr_str = serialize($arr);
setcookie("a",$arr_str);
//取出
$arr_str = $_COOKIE['a'];
$arr = unserialize($arr_str);
方法二:设定多键值
cookie,注意必须给键值
<?Php
$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 )
错误的写法:
<?Php
$arr=array(1,2,3);
setcookie("a[]",$arr[0]);
setcookie("a[]",$arr[1]);
setcookie("a[]",$arr[2]);