我通过php serialize函数将数组转换为cookie
$PromoteProductArray = array("PromoteuserId"=>$PromoteuserId,
"PromoteProductId"=>$PromoteProductId,
"PromoteBrandId"=>$PromoteBrandId);
$Promotedcart[] = $PromoteProductArray;
setcookie("Promotedcart", serialize($Promotedcart), time()+604800,'/');
当创建cookie时,我正在使用unserialize php函数。
print_r(unserialize($_COOKIE['Promotedcart']));
它不起作用。
当我print_R($_COOKIE)
时,它会告诉我价值。
答案 0 :(得分:0)
以分号分隔的Cookie。带有数组的序列化字符串包含它们。也许这是一个问题。您可以使用base64来避免所有可能的转义问题。
答案 1 :(得分:0)
刚遇到我还需要使用此解决方案的情况。我在这里找到了答案:update cookie value in php
答案 2 :(得分:0)
您可以使用json_encode
,json_decode
函数来实现此目的。
$PromoteProductArray = array("PromoteuserId"=>$PromoteuserId,
"PromoteProductId"=>$PromoteProductId,
"PromoteBrandId"=>$PromoteBrandId);
$Promotedcart[] = $PromoteProductArray;
setcookie("Promotedcart", json_encode($Promotedcart), time()+604800,'/');
$result = json_decode($_COOKIE['Promotedcart'], true);
print_r($result);
试一试,这应该有用。