向存储为cookie的数组添加和删除元素

时间:2015-05-29 23:27:04

标签: php arrays cookies

我想弄清楚为什么这不起作用。我正在尝试添加和删除元素到以逗号分隔的方式存储在cookie中的数组,例如" 1,2,3,4,5"然后回显数组大小。随着我在下面的PHP的安排,当我在浏览器中运行php时,元素已添加到数组后,数组大小不会更新。它只在我第二次在浏览器中运行php时才更新数组。有人可以帮助我正确的PHP,以便PHP将添加元素并更新数组大小?谢谢。

<?
setcookie ("values", "1,2,3,4,5", time()+1000);
$aCookie = explode(",",$_COOKIE['values']);
$aCookieSize = count($aCookie);
echo $aCookieSize;
?>

1 个答案:

答案 0 :(得分:1)

函数setcookie用于将指定的cookie写入服务器答案的标题中。但它不会更新当前的请求信息。

首次运行脚本时,客户端没有任何cookie。含义$_COOKIE为空。 setcookie将您的Cookie包含在您的答案标题中(但不会将其设置为$_COOKIE)。 在第二次运行时,客户端拥有他的cookie,因此设置$_COOKIE并且setcookie每次都覆盖cookie。

另外,请注意php允许使用以下格式发送数组:

setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");