php如何将一个数组保存在cookie里面

2025-05-11 17:13:50
推荐回答(3个)
回答(1):

  1. 先用serialize序列化数组,再存入COOKIE,读出来时用unserialize得到原来的数组

    代码:

//存入  

$arr = array(1,2,3);  

$arr_str = serialize($arr);    

setcookie("a",$arr_str);  

//取出  

$arr_str = $_COOKIE['a'];  

$arr = unserialize($arr_str);

2. 设定多键值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 )

回答(2):

/**
 *cookie本身就是超全变量,是个数组。$_COOKIE[],针对你这种情况,只有把COOKIE变为
 *二维数组
 */
 //比如你在之前已经设置$_COOKIE['nameid'],$_COOKIE['key_id'],你的ajax返回时候就如下操作
 $_COOKIE['nameid'][]=$_POST['daan'];
 $_COOKIE['key_id'][]=$_POST['key']+1;

回答(3):

将数组格式化成字符串就可以了。为了方便还原,建议你使用josn格式…json_encode把数组格式化成字符串,然后json_decode还原,具体用法,可以查看下手册,手机打字不方便,就不给你贴代码了