Неизмененная комбинация чисел после замены числа в строке - PullRequest
0 голосов
/ 16 июня 2010

Я получаю ненужную комбинацию номеров.

($ _ 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 Ответ

2 голосов
/ 16 июня 2010

Вы заменяете каждое ", 1" на пустую строку. Так 10 будет 0 и так далее ...

Но я не понимаю, чего именно ты хочешь достичь?

Хорошо, если Макс сказал то, что вы могли бы сделать это так:

$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;
}
...