在php中更新cookie值

时间:2011-09-15 04:15:29

标签: php arrays cookies store setcookie

我通过php serialize函数将数组转换为cookie

$PromoteuserId='1';
$PromoteProductId='2';
$PromoteBrandId='3';
$PromoteProductArray = array("PromoteuserId"=>$PromoteuserId,
                            "PromoteProductId"=>$PromoteProductId,
                              "PromoteBrandId"=>$PromoteBrandId
                        );

$Promotedcart[] = $PromoteProductArray;

setcookie("Promotedcart", urlencode(serialize($Promotedcart)), time()+604800,'/');

当创建cookie时,我正在使用unserialize php函数。

print_r(unserialize(urldecode($_COOKIE['Promotedcart'])));

我需要更新cookie值。例如。 - 我需要在cookie中搜索PromoteProductId值是否退出,如果它然后它将更新cookie值coorespond到PromoteProductId。 可以指导我如何更新价值?

2 个答案:

答案 0 :(得分:4)

您只需将未序列化的cookie存储到变量中,然后重置cookie?

$array = unserialize(urldecode($_COOKIE['Promotedcart']));  
$array[0]["PromoteuserId"] = "New";

setcookie("Promotedcart", urlencode(serialize($array)), time()+604800,'/');

答案 1 :(得分:0)

此链接最简化 使用序列化和反序列化数据

https://stackoverflow.com/questions/9032007/arrays-in-cookies-php/9032082#9032082