Как создать cookie как массив

1

Я ссылался на это, чтобы сохранить массив в cookie: Хранение и извлечение массива в PHP файле cookie

Тем не менее, мне нужно каждое значение, хранящееся как array.Below - это мой скрипт:

/*store all values in array starts*/
$search_array=array(
    'category'=>array('cat', $catid),
    'subject'=>array('sub', $subject),
    'location'=>array('loc', $location),
    'rate'=>array('rate', $rate),
    'distance'=>array('dis', $distance)
);

/*store all values in array ends*/

/*cookies starts*/
$s_array= json_encode($search_array);
setcookie('search', $s_array);

/*cookies ends*/

На другой странице:

<?php
$cookie = $_COOKIE['search'];
$cookie = stripslashes($cookie);
$savedCardArray = json_decode($cookie, true);


var_dump($savedCardArray);
?>

Выход:

array (size=5)
  'category' => 
    array (size=1)
      0 => 
        array (size=2)
          0 => string 'cat' (length=3)
          1 => string '5' (length=1)
  'subject' => 
    array (size=1)
      0 => 
        array (size=2)
          0 => string 'sub' (length=3)
          1 => string 'Circuit Training' (length=16)
  'location' => 
    array (size=1)
      0 => 
        array (size=2)
          0 => string 'loc' (length=3)
          1 => string 'gombak' (length=6)
  'rate' => 
    array (size=1)
      0 => 
        array (size=2)
          0 => string 'rate' (length=4)
          1 => int 115
  'distance' => 
    array (size=1)
      0 => 
        array (size=2)
          0 => string 'dis' (length=3)
          1 => string '100' (length=3)

Но то, что я хочу (1):

'category' => 
        array (size=1)
          0 => 
            array (size=2)
              0 => string 'cat' (length=3)
              array (size=4)
                 0 => string '5' (length=1)
                 1 => string '2' (length=1)
                 2 => string '4' (length=1)
                 3 => string '10' (length=1)

(2) истекает в течение 48 часов

  • 0
    Как поступают другие значения в массиве cat ?
  • 0
    $catid должен быть массивом, содержащим список категорий, которые будут отображаться под cat
Теги:
arrays
cookies

1 ответ

1
Лучший ответ
$search_array=array(
'category'=>array('cat', array($catid)),
...
);

через 48 часов

setcookie("search", $s_array, time()+(3600*48));  

Ещё вопросы

Сообщество Overcoder
Наверх
Меню