我知道如何在数组中设置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";
}
}输出: 四:炊具 三:烹饪 二:烹饪 第一:炊具
要清除cookie,我使用以下循环
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
setcookie ("cookie[".$name."]", "", time() - 1);
}
}我有没有办法不用循环就把饼干清除掉?提前感谢
发布于 2015-04-16 02:43:51
不,您几乎需要循环遍历现有的cookie,因为删除/终止cookie的方式,就像您通过setcookie在代码中看到的那样,每次都是一个cookie。
发布于 2015-04-16 02:49:16
试试看
if (isset($_COOKIE['cookie'])) {
setcookie ("cookie", array());
}甚至是
if (isset($_COOKIE['cookie'])) {
setcookie ("cookie", array('one'=>'','two'=>'','three'=>'','four'=>'',));
}如果你需要索引
https://stackoverflow.com/questions/29664432
复制相似问题