我通过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。 可以指导我如何更新价值?
答案 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