繁体   English   中英

在数组中设置$ _cookie值

[英]Set a $_cookie value in an array

我有一个具有以下值的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'];

| 是新行的定界符,而是新值的定界符。

我如何将这些值放在数组中,以便可以回显部分内容,例如,当我只想回显图像时。 希望你们能给我一些提示。

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

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

但老实说,您应该将其保存在$_SESSION 您可以在此处存储数组,对象,长字符串等,并且用户无法更改其内容

  • Cookies不利于存储复杂数据

  • 每个人都可以手动更改其Cookie,这可能会导致安全问题

  • 每个cookie限制为4096个字节

我完全同意彼得的看法。

Cookies是简单的文本文件。 请勿在Cookie中存储上述任何数据! 您有一个带有$_SESSION的不错的容器。 这是一个全局关联数组,因此您可以存储$_SESSION['cart']

随便放在哪里!

它比客户端计算机上的txt文件更安全!

在这里阅读有关会议的信息

$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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM