Php 递增的$\u COOKIE[array]不工作?

Php 递增的$\u COOKIE[array]不工作?,php,Php,我正在使用$\u COOKIE[array]为单个输入保存数据。仅当用户输入相同值两次时,此输入才会提交。例如,如果他们提交了苹果,然后是橙色,然后是香蕉,然后是苹果,那么表单将在第二次出现“苹果”时提交 我读了[本教程]( ) 如果你知道一个更好的方法(不能是mySQL),那么请让我知道 $\u COOKIE[“query”]不是数组,这是产生错误的原因。$\u COOKIE[“query”]不是数组,这是产生错误的原因。$\u COOKIE[“query”]不能存储数组。这也是为什么在for

我正在使用
$\u COOKIE[array]
为单个输入保存数据。仅当用户输入相同值两次时,此输入才会提交。例如,如果他们提交了苹果,然后是橙色,然后是香蕉,然后是苹果,那么表单将在第二次出现“苹果”时提交

我读了[本教程]( )


如果你知道一个更好的方法(不能是mySQL),那么请让我知道

$\u COOKIE[“query”]
不是数组,这是产生错误的原因。

$\u COOKIE[“query”]
不是数组,这是产生错误的原因。

$\u COOKIE[“query”]不能存储数组。这也是为什么在foreach中尝试使用它时会出现错误的原因。不过,您可以在保存数组之前序列化它。像这样的

$array = array();
for ($i = 1; $i < 10; $i++) {
    $array[] = $i;
}
setcookie("query",urlencode(serialize($array)),time()+604800,"/");

$query = unserialize(urldecode($_COOKIE['query']));
foreach ($query as $key => $value) {
    echo "$key:$value";
}
$array=array();
对于($i=1;$i<10;$i++){
$array[]=$i;
}
setcookie(“查询”,urlencode(序列化($array)),time()+604800,“/”;
$query=unserialize(urldecode($_COOKIE['query']);
foreach($key=>$value的查询){
回显“$key:$value”;
}

另请看这篇文章,了解为什么使用urlencode/URLEDECODE

$\u COOKIE['query']无法存储数组。这也是为什么在foreach中尝试使用它时会出现错误的原因。不过,您可以在保存数组之前序列化它。像这样的

$array = array();
for ($i = 1; $i < 10; $i++) {
    $array[] = $i;
}
setcookie("query",urlencode(serialize($array)),time()+604800,"/");

$query = unserialize(urldecode($_COOKIE['query']));
foreach ($query as $key => $value) {
    echo "$key:$value";
}
$array=array();
对于($i=1;$i<10;$i++){
$array[]=$i;
}
setcookie(“查询”,urlencode(序列化($array)),time()+604800,“/”;
$query=unserialize(urldecode($_COOKIE['query']);
foreach($key=>$value的查询){
回显“$key:$value”;
}

另外,请看这篇文章,了解为什么使用urlencode/urldecode

您能解释一下我如何解决这个问题吗?我正确地遵循了教程。对不起,我不再支持pc了!你能解释一下我怎样才能解决这个问题吗?我正确地遵循了教程。对不起,我不再支持pc了!我收到通知:unserialize():第83行C:\xampp\htdocs\search.php中偏移量为8字节的0处出错警告:为第84行C:\xampp\htdocs\search.php中的foreach()提供的参数无效,抱歉,没有测试我的代码。在这里找到了解决方案。将调整我的答案。在摆弄了一个小时后,我看到您必须将所有cookie值输入$array=array();我还没有弄清楚如何执行此操作。我收到通知:unserialize():第83行C:\xampp\htdocs\search.php中8个字节的偏移量0处出错警告:为第84行C:\xampp\htdocs\search.php中的foreach()提供的参数无效。抱歉,没有测试我的代码。在这里找到了解决方案。将调整我的答案。在摆弄了一个小时后,我看到您必须将所有cookie值输入$array=array();我一直不知道该怎么做。
$array = array();
for ($i = 1; $i < 10; $i++) {
    $array[] = $i;
}
setcookie("query",urlencode(serialize($array)),time()+604800,"/");

$query = unserialize(urldecode($_COOKIE['query']));
foreach ($query as $key => $value) {
    echo "$key:$value";
}