0

我得到一个不需要的数字组合。

($_COOKIE):

2、3、4、5、6、7、8、901234567890123456789、30

应该是($_COOKIE):

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12...(直到)30

$_Get['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 调用它,但我认为这不是问题所在。

4

1 回答 1

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;
}
于 2010-06-16T12:30:46.500 回答