PHP cookie不';不能用类删除

PHP cookie不';不能用类删除,php,cookies,Php,Cookies,我想知道为什么我不能删除带有类的cookie,但我可以不带任何类 cookies.php static public function Delete($name, $expiry){ unset($_COOKIE[$name]); setcookie($name, false, $expiry, '/'); } if(Cookie::Exists('country')){ Cookie::Delete($_COOKIE['country'], time() - 3600

我想知道为什么我不能删除带有类的cookie,但我可以不带任何类

cookies.php

static public function Delete($name, $expiry){
    unset($_COOKIE[$name]);
    setcookie($name, false, $expiry, '/');
}
if(Cookie::Exists('country')){
    Cookie::Delete($_COOKIE['country'], time() - 3600);
}
index.php

static public function Delete($name, $expiry){
    unset($_COOKIE[$name]);
    setcookie($name, false, $expiry, '/');
}
if(Cookie::Exists('country')){
    Cookie::Delete($_COOKIE['country'], time() - 3600);
}
这不管用。下面的代码可以工作

if(Cookie::Exists('country')){
    setcookie('country', false, time() - 3600, '/');
}
我没有错误。我用两个选项对内容进行了
echo
,第一个选项是
echo
始终检索内容。第二个选项只检索内容1次(删除后)。这是正确的。

Cookie::Delete($\u Cookie['country',time()-3600)

您正在传入COOKIE的值作为COOKIE的名称。因此,如果cookie中的country是“UK”,那么您的DELETE方法将设置一个名为“UK”的cookie过期

也改变它


Cookie::Delete('country',time()-3600)

您是否尝试过:
Cookie::Delete('country',time()-3600)?在第一个示例中,您将cookie的值作为参数而不是名称传递