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();
?>

私はそれをJqueryajaxで呼んでいますが、それが問題だとは思いません。

4

1 に答える 1

2

すべての「、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;
}
于 2010-06-16T12:30:46.500 に答える