我正在尝试将所有活动cookie设置为变量,其中名称将对应于cookie的名称,我尝试使用变量变量来完成。 http://php.net/manual/en/language.variables.variable.php
function setcookie_vars() {
if(isset($_SERVER["HTTP_COOKIE"])) {
$cookies = explode(";", $_SERVER["HTTP_COOKIE"]);
foreach($cookies as $cookie) {
$parts = explode("=", $cookie);
$name = trim($parts[0]);
$value = trim($parts[1]);
$$name = $value;
return $$name;
}
}
}
print_r(${$test}); // should output the value for $_COOKIE["test"];
例如,如果cookie的名称是“test”,则变量的名称将为$ test,并且该cookie的cookie中设置的值相同。我尝试用预先设置的cookie来测试这个,然后我得到了(我检查了cookie已经设置好了):
Notice: Undefined variable: test in...
Notice: Undefined variable: in...
我无法在网上找到任何类似的问题,可能是因为它是相当自定义的。
答案 0 :(得分:0)
用以下代码替换整个函数:
extract($_COOKIE, EXTR_PREFIX_ALL, 'cookie');
echo $cookie_nameOfCookie;