php 将数组存入cookie

最近在做一个购物车的功能,需要将商品的ID和商品数量存入cookie,实际上,cookie是不能存数组的,因此需要用到序列化函数serialize()

函数解释:

serialize()就是将PHP中的变量如对象(object),数组(array)等等的值序列化为字符串后存储起来.序列化的字符串我们可以存储在其他地方如数据库、Session、Cookie等,序列化的操作并不会丢失这些值的类型和结构。

简单说就是讲数组or对象转换成一种字符串,之后可以通过反序列化函数再转换回来,非常好用,使用起来也非常简单。如下:

生成cookie代码:

1 header("Content-type:text/html;charset=utf-8");
2 $goods['gid'] = 1;
3 $goods['gnum'] = "手机";
4 $goods = serialize($goods);
5 setcookie('goods',$goods);

在使用的时候,取出反序列化即可:

$arr = unserialize($_COOKIE['goods']);
var_dump($arr);

页面显示:

 

posted @ 2017-07-30 16:48  程昱仲德  阅读(5006)  评论(0编辑  收藏  举报