如果我將項目添加到所述$ _COOKIE數組作爲這樣的第一個項目
setcookie("favorites[$deletekey]", "", time()+3600);
除了第一個加入使這不起作用:
setcookie("favorites[0]", "", time()+3600*24);
如何刪除第一個和讓別人完好無損?
如果我將項目添加到所述$ _COOKIE數組作爲這樣的第一個項目
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被看作是數組的鍵,並且沒有爲該鍵定義的值。
但是,您可以使用PHP's array_values()
function來創建一個值的數組(它基本上刪除鍵)並以這種方式引用它們,但是使用Cookie我不明白這是如何使用的。
我可以從$ _COOKIE [收藏]數組這樣刪除的任何項目:
否 - 當響應發送回瀏覽器應該覆蓋當前值。
如果你想刪除的項目從餅乾數組做到這一點:如果你想刪除瀏覽器設置cookie具有相同名稱的Cookie
unset($_COOKIE['favorites']);
(和路徑,域),但過去的失效日期。
有沒有這樣的事情作爲cookie arry客戶端 - 你混淆PHP的語法用於添加項目數組與HTTP如何工作。這可能是當請求返回時,PHP將從名爲'favorites []'的cookie創建一個數組,但客戶端上沒有這樣的數組 - 只有一個值。
setcookie("favorites[]", "value", time()+3600);
創建一個名爲cookie的「最愛[]」這就是爲什麼它沒有被改變:
setcookie("favorites[0]", "", time()+3600*24);
雖然這將是有效的通過追加(或嵌入)的整數爲創造新的餅乾字符串,你應該避免使用方括號。
C.