php cookie如何存储数组

时间:2016-07-24
大部分情况下,php cookie是存储比较简单的文本值的,但有时候,我们需要把复杂一点的数据存储在cookie中,比如将数组存储在cookie中,这个如何实现呢?本文章向大家介绍php将数组存储在cookie中的两种方法,需要的朋友可以参考一下。

php将数组存储在cookie中的两种方法.

一、serialize和unserialize方法

将数组系列化(serialize),然后存储在cookie中,然后在读取cookie的时候将数组解系列化(unserialize)。

//将数组系列化为字符串,然后存入到cookie中  
$arry_original = array('php教程','java教程','css教程');  
$arrt_string = serialize($arry_original);    
setcookie("store",$arrt_string);  
 
//将cookie值取出,然后解系列化得到数组的值
/* http://www.manongjc.com/article/1254.html */
$arrt_string = $_COOKIE['store'];  
$arry_original = unserialize($arrt_string); 

二、创建数组cookie

创建一个数组cookie,每个cookie数组单元存储一个数组的值。如:

//将数组系列化为字符串,然后存入到cookie中  
$arry_original = array('php教程','java教程','css教程');  
foreach($arry_original as $k=>$v){
     setcookie("array_cookie[$k]",$v);
}

 
//获取cookie的值
if(isset($_COOKIE['array_cookie'])){
    foreach($_COOKIE['array_cookie'] as $k=>$v){
       
        echo $k.":".$v."<br/>";

    }
}

这两种方法都可以实现php将数组存储到cookie中,但相比之下,第一种方法更好,因为存储容易,读取也容易。