2014-04-17 46 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);