как поместить куки в массив?

Я пытаюсь сохранить массив для cookie, но получаю следующую ошибку:

Предупреждение: setcookie() ожидает, что параметр 2 будет строкой, задан массив

Как я могу на самом деле поместить массив в файл cookie?

EDIT2: я отредактировал код, и теперь он хранит массив файлов cookie, но у меня возникла ОГРОМНАЯ проблема. Он не переопределяет значения из первого представления, если размер второго массива меньше.

Пример. первый массив отправки [1206,0402], второй массив отправки [0402]. но тогда получается [0402,0402], что неверно.

function cuukko($var,$val){
    setcookie($var,$val,time()+60*60*24*365);
}

function preg_DW($var){
    global $isset;
    if ($isset&&is_array($_POST[$var])&&sizeof($_POST[$var])>0){
        $C=0;
        foreach ($_POST[$var] as $key => $value) {
            $val[$C]=trim(preg_replace('/\s\s+/',' ',preg_replace('/[^\d\w\s\(\)\[\]]+/','',$value)));
            cuukko($var."[".$C."]",$val[$C]);
            $C++;
        }
    } elseif (isset($_COOKIE[$var])) $val=$_COOKIE[$var];
        return (sizeof($val)>0)?$val:array();
}

Редактировать 3: Вопрос решен. Сейчас используется код:

function cuukko($var,$val){
    setcookie($var,$val,time()+60*60*24*365);
}

function preg_DW($var){
    global $isset;
    if ($isset){
        $C=0;
        if (is_array($_COOKIE[$var]))
        foreach($_COOKIE[$var] as $key =>$trash)
        setcookie("{$var}[".$key.']', '', time()-60*60*24*365);
        if (is_array($_POST[$var]))
        foreach ($_POST[$var] as $key => $value) {
            $val[$C]=trim(preg_replace('/\s\s+/',' ',preg_replace('/[^\d\w\s\(\)\[\]]+/','',$value)));
            cuukko($var."[".$C."]",$val[$C]);
            $C++;
        }
    } elseif (isset($_COOKIE[$var])) $val=$_COOKIE[$var];
        return (sizeof($val)>0)?$val:array();
}
0
задан Anonymous 11 March 2012 в 19:26
поделиться