我想弄清楚为什么这不起作用。我正在尝试添加和删除元素到以逗号分隔的方式存储在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;
?>
答案 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");