我得到一个不需要的数字组合。
($ _ COOKIE):
2,3,4,5,6,7,8,901234567890123456789,30
应该是($ _COOKIE):
1,2,3,4,5,6,7,8,9,10,11,12 ......(直到)30
$ _获取[ 'ID'] = “1”; (对不起,忘了发帖。)
为什么会这样?
代码:
<?
ob_start();
$id=$_GET['id'];
if (!empty($id)){
$id=str_replace('a9_','', $id);
$value=$_COOKIE['NaudingasURL'];
$exp = explode(", ", $value);
if(in_array($id, $exp)){
$value2=str_replace(', '.$id,"", ', '.$value);
$value2=substr($value2, 2, strlen($value2));
echo'r';
}
else{
$value2=$value.', '.$id; echo'a';
}
setcookie("NaudingasURL", $value2);
}
ob_end_flush();
?>
我用 Jquery ajax调用它,但我不认为这是问题所在。
答案 0 :(得分:2)
您正在用空字符串替换每个“,1”。所以10将是0等等......
但我不明白你想要达到什么目标?
好的,如果是Max说的话,你可以这样做:
$exp = explode(", ", $value);
if(in_array($id, $exp)){
for ($i=0; $i<count($exp); $i++) {
if ($exp[$i] == $id) {
unset($exp[$i]);
}
}
$value2 = implode(", ", $exp);
}
else{
$value2 = implode(", ", $exp).', '.$id;
}