Php 删除$\u COOKIE数组的第一项
如果我将一个项目添加到$\u COOKIE数组中,如下所示:Php 删除$\u COOKIE数组的第一项,php,Php,如果我将一个项目添加到$\u COOKIE数组中,如下所示: setcookie("favorites[]", "value", time()+3600); 我可以从$\u COOKIE[favorites]数组中删除任何项目,如下所示: setcookie("favorites[$deletekey]", "", time()+3600); 除了添加的第一个,因此这不起作用: setcookie("favorites[0]", "", time()+3600*24); 如
setcookie("favorites[]", "value", time()+3600);
我可以从$\u COOKIE[favorites]数组中删除任何项目,如下所示:
setcookie("favorites[$deletekey]", "", time()+3600);
除了添加的第一个,因此这不起作用:
setcookie("favorites[0]", "", time()+3600*24);
如何删除第一个数组而保留其他数组的完整性?如果您知道数组是如何工作的,您就会知道0实际上是一个键
$myarray = array("key" => "value", 1 => "one");
$myarray[0]不存在,因为未定义该键。此数组中仅存在元素$myarray['key']和$myarray[1]。不能将$myarray['key']引用为数组中的第一项,因为0被视为数组的键,并且没有为该键定义值
然而,您可以使用创建一个值数组,它基本上会删除键并以这种方式引用它们,但对于cookie,我看不出这有什么用处
我可以从$\u COOKIE[favorites]数组中删除任何项目,如下所示:
否-将响应发送回浏览器时,应覆盖当前值
如果要从cookies数组中删除项目,请执行以下操作:
unset($_COOKIE['favorites']);
如果要在浏览器上删除cookie,请将cookie设置为具有相同名称、路径和域,但过期日期为过去
没有CookieArry客户端这样的东西-您将PHPs语法与HTTP的工作方式混淆了,PHPs语法用于向数组添加项。当请求返回时,PHP可能会从名为“Favorites[]”的cookie创建一个数组,但客户端上没有这样的数组,只有一个值
setcookie("favorites[]", "value", time()+3600);
创建一个名为“Favorites[]”的cookie,这就是为什么它没有通过以下方式更改:
setcookie("favorites[0]", "", time()+3600*24);
虽然通过在字符串中追加或嵌入整数来创建新cookie是有效的,但应避免使用方括号
C