cookie默認不能存數組,所以下面的寫法是錯誤的。
報錯如下:
Warning: setcookie() expects parameter 2 to be string, array given in
但是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]);
結果:數組所有元素都存到了。
數組長度 :3
Array ( [0] => 1 [1] => 2 [2] => 3 )
以下寫法是錯誤的:
復制代碼 代碼如下:
$arr = array(1,2,3);
setcookie("a[]", $arr[0]);
setcookie("a[]", $arr[1]);
setcookie("a[]", $arr[2]);
結果:只存了最後一個元素
數組長度 :1
Array ( [0] => 3 )