如果有2个错误:
为foreach()提供了无效的参数...
使用不确定的常量c-在...中假定为'c'
我首先尝试查找cookie是否存在。然后,如果数组中存在重复的cookie。
我在这里查看其他示例,但它们似乎显示相同的foreach循环。有什么我想念的吗?
$seo = "perma-link"
$count = 0;
$duplicate = 0;
if (isset($_COOKIE['c'])) {
foreach($_COOKIE['c'] as $key => $value) {
if($value === $seo){
$duplicate = 1;
}
}
} else {
setcookie(c[$count], $seo, time()+3600);
$duplicate = 1;
}
if($duplicate == 0){
$count = count($_COOKIE['c']);
setcookie(c[$count], $seo, time()+3600);
}
答案 0 :(得分:1)
为foreach()提供的参数无效
您的$ _COOKIE ['c']不是数组。
使用未定义的常量c
setcookie(c[$count], $seo, time()+3600);
什么是“ c”?解释器会说明此错误。 setcookie()的第一个参数是cookie名称。您应提供正确的字符串。 setcookie()的第二个参数是一个值。如果要使用foreach进行迭代,则应为数组。检查$ seo变量。
答案 1 :(得分:0)
我做了太多的foreach循环,“ c [$ count]”必须有引号才能起作用。固定它。我感谢詹姆斯·邦德的反馈。
$seo = "perma-link"
$count = 0;
$duplicate = 0;
if (isset($_COOKIE['c'])) {
foreach($_COOKIE as $k => $v) {
if($k == "c" && $v == $seo){
$duplicate = 1;
}
}
}else{
setcookie("c[$count]", $seo, time()+3600);
$duplicate = 1;
}
if($duplicate ==0){
$count = count($_COOKIE['c']);
setcookie("c[$count]", $seo, time()+3600);
}