簡體   English   中英

Cookie值是數組是否合法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM