0

我正在尝试将所有活动 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 是否已经设置):

    Notice: Undefined variable: test in...
    Notice: Undefined variable: in...

我在网上找不到任何类似的问题,可能是因为它是相当定制的。

4

1 回答 1

0

将您的整个功能替换为:

extract($_COOKIE, EXTR_PREFIX_ALL, 'cookie');

echo $cookie_nameOfCookie;
于 2012-08-29T04:17:31.223 回答