替换字符串中的数字后不需要的数字组合

时间:2010-06-16 12:19:23

标签: php numbers combinations

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

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

1 个答案:

答案 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;
}