我有一个包含以下值的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'];
|是新行的分隔符,是新值的分隔符。
如何将这些值放在一个数组中,以便回显它的一部分,例如当我只想回显图像时。希望你们能给我一些提示。
答案 0 :(得分:1)
$array = explode("|", $_COOKIE['cart']);
foraech($array as & $element) {
$element = explode(",", $element);
}
// example - echo an image
echo $array[1][3]
但说实话,你应该把它保存在$_SESSION
中。你可以存储数组,对象,长字符串等,用户无法更改其内容
Cookie不适合存储复杂数据
每个人都可以手动更改Cookie并导致安全问题
每个Cookie限制4096个字节
答案 1 :(得分:0)
我完全赞同彼得。
Cookie是简单的文本文件。不要在Cookies中存储如上所述的任何数据!你有一个包含$_SESSION
的好容器。它是一个全局关联数组,因此您可以存储$_SESSION['cart']
等值。
无论你喜欢什么!
它比客户端电脑上的txt文件更安全!
请在此处阅读Sessions
答案 2 :(得分: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);