将值存储在cookie中


Store values in cookies

我有一个分两步的问题。

首先,我需要检查存储在cookie中的字符串中是否已经有一个特定的数值,如果没有,请添加到其中

$newVal = 4;
$oldStr = $_COOKIE['myCookie']; // get previous values (##, ###, ### ...)
if (!in_array($newVal, explode(',', $oldStr ))) {
    $newStr = $oldStr.', '.$newVal;
}
setcookie('myCookie', $newStr, time()+3600*24*30*12);

稍后,在另一个页面上,我需要将存储在cookie中的值与数据库中的给定值进行比较,如果至少有一个不在刺痛中,我需要添加它。

$dbStr = '10, 20, 30, 40';    
// compare $dbStr against $_COOKIE['myCookie']
// updated will be $dbStr = '10, 20, 30, 40, 4';  

现在,我真的不知道如何将cookie中的刺痛与$dbStr进行比较。。。只是有一个空白的时刻。

我认为:

$dbStr = '10, 20, 30, 40'; 
$curCookie = explode(', ', $_COOKIE['myCookie'] );
$dbValues = explode(', ', $dbStr); 
foreach ($curCookie as $value) {
   if(!in_array($value, $dbValues)
      $dbValues[] = $value
}
$dbStr = implode(', ', $dbValues);