2015-11-23 48 views
1

我在餅乾提到這個存儲陣列:Storing and retrieving an array in a PHP cookie如何創建的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'下顯示的類別列表 –

回答

1
$search_array=array(
'category'=>array('cat', array($catid)), 
... 
); 

中在48小時內到期

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