我正在尝试在Cookie名称中使用括号。
应该看起来像这样(这是浏览器想要的!):
Name: name[123456].newName
Content: 20
以下是我的例子:
$cookie = "name[123456].newName=20"
但是,当我分析浏览器看到的内容时,我明白了:
cookie['name'] = Array
我想要:
cookie['name[123456].newName'] = 20
我的问题是:我应该如何以浏览器理解的方式编写cookie名称?
提前谢谢。
答案 0 :(得分:5)
实际上,你所要做的就是:
<?php
setcookie('name[123456].newName', 20);
?>
这将生成以下标题:
Set-Cookie: name[123456].newName=20
...浏览器(好吧,至少是Firefox)似乎处理得很好。
当您想要读取值时,问题就开始了。 PHP有一个不错的功能:每当它找到一个带有方括号的输入参数(get,post,cookie ......)时,它就会从中构建一个数组。所以print_r($_COOKIE)
显示了这个:
Array
(
[name] => Array
(
[123456] => 20
)
)
我不知道有任何方法可以禁用此功能,因此您可能需要使用字符串函数并解析原始cookie的内容,可以在$_SERVER['HTTP_COOKIE']
找到:
name[123456].newName=20