2011-06-24 59 views
0

我想知道是否有可能創建一個cookie(使用jquery.cookie),它看起來像這樣在PHP:jQuery的cookie的幫助下(如需幫助,形成一個cookie)

$_COOKIE['124']['ctns'] => 12 
$_COOKIE['124']['units'] => 2 

OR

$_COOKIE['124'] => array('ctns' => 12, 'units' => 2) 

目前我已經創建了看起來像餅乾:

$_COOKIE['124-ctns'] => 12 
$_COOKIE['124-units'] => 2 

但我意識到這不會給什麼工作我需要。

我使用(jQuery的)的代碼是:

$.cookie('124-ctns', 12, { path: '/' }); 
$.cookie('124-units', 2, { path: '/' }); 

任何幫助,將不勝感激:)

+0

你能解釋你想做什麼嗎? – Prashanth

+0

我想創建一個使用jquery cookie的多維數組 – SoulieBaby

回答

1

你不行。 Cookies只存儲字符串,而不是對象。 您可以將對象轉換爲JSON,使代碼看起來像

$_COOKIE['124'] => json_encode(array('ctns' => 12, 'units' => 2)); 

n124 = JSON.parse($.cookie('124')); 

然後變量N124應該是對象,所以你可以得到的變量,比如 n124.ctns n124.units

1

在PHP創建多維餅乾:

setcookie("124[ctns]",12,time()+3600); 
setcookie("124[units]",2,time()+3600); 

的最後一個參數是到期時間。

要訪問PHP多維餅乾:

$ctns = $_COOKIE['124']['ctns']; // $ctns will equal 12 
$units = $_COOKIE['124']['units']; // $units will equal 2 

快速,print_r($_COOKIE)將輸出:

Array 
(
    [124] => Array 
     (
      [ctns] => 12 
      [units] => 2 
     ) 

) 

簡而言之,是的,可以。以下顯示了PHP手冊中的一個具體示例。

Example #3 setcookie() and arrays

+0

我想在jquery中創建一個cookie,但作爲一個多維數組我想:) – SoulieBaby

+0

我已經更新了它。在我提供的鏈接中有關於多維cookie的更多文檔。 – Josh

+0

謝謝,但我試圖讓jquery cookie腳本創建多維數組,而不是php :) – SoulieBaby

0

這是我該怎麼做:用print_r的時候

<input name="cb[1]" type="checkbox" value = "1"> 
<input name="cb[2]" type="checkbox" value = "2"> 

<javascript> 
$(":checkbox").click(function(){ 
    name = $(this).attr('name'); 
    val = $(this).val(); 
    $.cookie(name, val); 
}); 
</javascript> 

輸出(CB):

[cb] => Array 
     (
      [1] => 1 
      [2] => 2 
     ) 

但現在我的問題是如何訪問存儲的Cookie @。@