我知道如何在数组中设置PHP cookie但是我可以在没有循环的情况下清除它吗? 例如,我正在设置这四个cookie
// set the cookies
setcookie("cookie[four]", "cookiefour");
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
$name = htmlspecialchars($name);
$value = htmlspecialchars($value);
echo "$name : $value <br />\n";
}
}
输出:
四:cookiefour
三:cookiethree
二:cookietwo
一:cookieone
要清除cookie,我使用以下循环
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
setcookie ("cookie[".$name."]", "", time() - 1);
}
}
有没有办法可以在没有循环的情况下清除cookie?提前致谢
答案 0 :(得分:3)
不,你几乎需要循环使用现有的cookie作为删除/过期cookie的方法,就像你在代码中通过setcookie一样,一次就是一个cookie。
答案 1 :(得分:1)
可以尝试
if (isset($_COOKIE['cookie'])) {
setcookie ("cookie", array());
}
甚至
if (isset($_COOKIE['cookie'])) {
setcookie ("cookie", array('one'=>'','two'=>'','three'=>'','four'=>'',));
}
如果您需要索引