问题描述
|
我想将字符串存储在以下形式的Cookie中
1.236|2.48|3.574|4.094|
每个数字1-4对应一个div,点后的数字对应div的属性。
我要为php检查cookie并查看是否存在div 3条目,如果存在,请删除点后的数字,并用我提供的数字替换,如果没有,请在字符串与我提供的号码。因此,如果Cookie中的字符串具有以下形式
1.236|2.48|4.094|
然后PHP将其设置为
1.236|2.48|4.094|3.66|
其中66是脚本提供的数字。
并且如果cookie中的字符串具有以下形式
1.236|2.48|3.574|4.094|
然后PHP将其设置为
1.236|2.48|3.66|4.094|
(或者一样好:
1.236|2.48|4.094|3.66
)
我在示例中使用了点和\'| \',但它们只是用作分隔数据的占位符,如果它们不能在Cookie中使用,则任何其他随机固定符号都应该使用。
任何帮助表示赞赏。谢谢。
解决方法
$cookieName = \'myCookie\';
$newValue = 66;
$newString = preg_replace(\'/3\\.[0-9]+/\',\"3.$newValue\",$_COOKIE[$cookieName]);
if (strpos($newString,\'3.\'.$newValue) === false) {
$newString .= \'3.\'.$newValue;
}
setcookie($cookieName,$newString);
, 使用setcookie()
函数(请参阅文档)来设置,并使用$_COOKIE
数组(请参阅文档)来读取Cookie。