如果PHP中的键以X开头,则删除cookie


Delete a cookie if the key start by X in PHP

XYZ启动了一些cookie,我想在用户访问特定路由时取消设置它们。

所以我编码:

foreach ($_COOKIE as $key => $value)
        if (preg_match('/^XYZ/', $key))
            unset($_COOKIE[$key]);

但是饼干还在。我真的不明白,因为当我明白的时候:

foreach ($_COOKIE as $key => $value)
        if (preg_match('/^XYZ/', $key))
            echo($_COOKIE[$key]);

它是有效的。所以我想知道是否可以取消设置如上所述的cookie。

重置类似于的cookie

setcookie($key,"",time()-3600);

你可以试试这个-

foreach ($_COOKIE as $key => $value) {
    if (strpos($key, 'XYZ') === 0) { // check if name starts with 'XYZ'
         setcookie($key, "", (time() - 3600) ); // Set the time which already expired
    }
}

preg_match-

if (preg_match('/^XYZ/', $key)) {
     setcookie($key, "", (time() - 3600) );
}