我一直认为 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 应该只保存字符串。这是一个错误吗?