如何创建值为array()的cookie

时间:2013-11-19 07:25:18

标签: php cookies yii

我正在尝试创建像这样的cookie ......

   Yii::app()->request->cookies['username']= new CHttpCookie('username',array());

但它给了我错误说setcookie() expects parameter 2 to be string, array given

CHttpCookie class它也只取字符串值...

所以我的问题是如何将cookie值定义为数组()

提前致谢

2 个答案:

答案 0 :(得分:3)

使用json_encode将数组转换为字符串。为什么不serialize?因为unserialize Cookie数据很危险:PHP Object Injection

答案 1 :(得分:2)

Serialization

Yii::app()->request->cookies['username']= new CHttpCookie('username',serialize(array()));

当您想要在后续请求中读取值时,您需要对unserialize进行相应的调用。