最近在做一個購物車的功能,需要將商品的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);
頁面顯示: