cookie默认不能存数组,所以下面的写法是错误的。
报错如下:
但是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]);
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,3);
setcookie("a[]",$arr[0]);
setcookie("a[]",$arr[1]);
setcookie("a[]",$arr[2]);
setcookie("a[]",$arr[0]);
setcookie("a[]",$arr[1]);
setcookie("a[]",$arr[2]);
结果:数组长度 :1
Array ( [0] => 3 )
原文链接:https://www.f2er.com/php/26414.html