2014-04-17 45 views
0

我有以下值一個cookie:

2,3 personen klein,47.50,images/portfolio/portfolio-02.jpg,1|1,2 personen 
kleurrijk,47.50,images/portfolio/portfolio-01.jpg,1|3,Sneeuwklokje,47.50,images/portfolio/portfolio-03.jpg,1 

我得到這個值當我使用:
echo $_cookie['cart'];

的|是新行的分隔符,並且,是新值的分隔符。

如何將這些值放入數組中,以便可以回顯部分數據,例如當我只想回顯圖像時。希望你們能給我一些提示。

回答

1
$array = explode("|", $_COOKIE['cart']); 
foraech($array as & $element) { 
    $element = explode(",", $element); 
} 

// example - echo an image 
echo $array[1][3] 

但說實話你應該保留在$_SESSION。你可以存儲數組,對象,長字符串等那裏,用戶無法更改其內容

  • Cookies是不利於存儲複雜的數據

  • 每個人都可以手動更改他們的餅乾它可能會導致安全問題

  • 有限制每一個cookie的

  • 01 4096個字節
0

我完全同意彼得。

Cookie是簡單的文本文件。不要在Cookies中存儲上述任何數據!你有一個漂亮的容器與$_SESSION。這是一個全局關聯數組,因此您可以存儲像$_SESSION['cart']這樣的值。

把它放在裏面吧!

它比客戶端PC上的txt文件更安全!

這裏閱讀有關Sessions

0
 

    $string = "2,3 personen klein,47.50,images/portfolio/portfolio-02.jpg,1|1,2 personen kleurrijk,47.50,images/portfolio/portfolio-01.jpg,1|3,Sneeuwklokje,47.50,images/portfolio/portfolio-03.jpg,1"; 

    $lines = explode('|', $string); 

    $lines = array_map(function($a){ 
     return explode(',', $a); 
    }, $lines); 

    print_R($lines);