Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cookie的值可以是数组吗?我可以将其作为数组传递吗?php?_Php_Arrays_Cookies - Fatal编程技术网

cookie的值可以是数组吗?我可以将其作为数组传递吗?php?

cookie的值可以是数组吗?我可以将其作为数组传递吗?php?,php,arrays,cookies,Php,Arrays,Cookies,我正在做这样的事情,但似乎不起作用 <?php //cookie for saving recently viewed products list //global $post; //echo $post->ID; if (!$_COOKIE['mediSHOPrecentlyViewedlist']) { setcookie("mediSHOPrecentlyViewedlist", $post->ID, strtotime(

我正在做这样的事情,但似乎不起作用

<?php 
    //cookie for saving recently viewed products list
    //global $post;
    //echo $post->ID;
    if (!$_COOKIE['mediSHOPrecentlyViewedlist']) {
        setcookie("mediSHOPrecentlyViewedlist", $post->ID, strtotime('+6 days'), "/");
    } else {
        $cookie_value = htmlspecialchars($_COOKIE['mediSHOPrecentlyViewedlist']);
        $cookie_value = explode(",",$cookie_value);
        array_unshift($cookie_value, $post->ID);
        setcookie("mediSHOPrecentlyViewedlist", $cookie_value, strtotime('+6 days'), "/");

        print_r($cookie_value);
    }
?>

$cookie\u值是一个数组。这可能吗?

阵列:

array_unshift($cookie_value, $post->ID);
$cookie_value = serialize($cookie_value);
然后要读取它的值,它:

阵列:

array_unshift($cookie_value, $post->ID);
$cookie_value = serialize($cookie_value);
然后要读取它的值,它:


当然可以,但是你应该考虑如下:

Cookie用于存储最少的数据,因为用户可以更改数据。在这里存储大量数据是不安全的。您应该存储用户ID、密码散列和次要的重要内容,并让您的纸条处理其余内容


但是,如果你想存储数组,一个想法可能是<代码> JSONY-EnCOD/<代码>存储它之前的数据和<代码> JSONY-DECODE 以及在抓取它时的内容。

当然可以,但是你应该考虑以下内容:

Cookie用于存储最少的数据,因为用户可以更改数据。在这里存储大量数据是不安全的。您应该存储用户ID、密码散列和次要的重要内容,并让您的纸条处理其余内容


但是,如果您想存储数组,一个想法可能是在存储数据之前对数据进行
json\u编码
,在获取数据时对数据和内容进行
json\u解码。

您需要
序列化()
它和
取消序列化()
它。

您需要
序列化()
它和
取消序列化()
it.

eplode将生成一个数组。因此,是的,可以将此部分全部设置为cookie(“mediSHOPrecentlyViewedlist”、$cookie\u值、strottime(“+6天”)、“/”;脚本的任何部分都不起作用。如果我放入其他内容,则会设置一个字符串cookie,如果旧cookie没有保留。eplode将生成一个数组。因此,是的,可以将此部分全部设置为cookie(“mediSHOPrecentlyViewedlist”、$cookie\u值、strottime(“+6天”)、“/”;脚本的任何部分都不起作用。如果我放置了其他内容,则会设置一个字符串cookie,如果不保留旧cookie的话well@JohnConde:
序列化
也很有效。一枚硬币的两面。重要的是要注意这是不安全的。我喜欢这个选项well@JohnConde:
序列化
也很有效。一枚硬币的两面。需要注意的是,这不是安全的。