[英]Is it legal for a cookie value to be an array?
我一直認為cookie可能只包含字符串,但是PHP處理cookie的方式也可以將數組存儲在cookie中(我不是在談論序列化數組,而是本地數組)。 您需要做的就是:
setcookie('a[1]', 'a');
setcookie('a[2]', 'b');
var_dump($_COOKIE);
上面將產生以下結果(記住要執行兩次):
array(1) {
["a"]=>
array(2) {
[1]=>
string(1) "a"
[2]=>
string(1) "b"
}
}
這里發生了什么? 顯然,我們設法將數組存儲到cookie中,該cookie應該僅包含字符串。 這是錯誤嗎?
這當然不是錯誤。 事實上,它已記錄在PHP文檔中
您還可以通過在cookie名稱中使用數組符號來設置數組cookie。 這樣可以設置與數組元素一樣多的cookie,但是當腳本接收到cookie時,所有值都將以cookie的名稱放置在數組中:
Cookie值只能是字符串。
當PHP將cookie解析為$_COOKIE
,某些命名約定(即,名稱以[]
或[something]
結尾的cookie)將導致其將它們表示為數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.