使用通配符取消设置带有前缀(php)的会话


Use a wild card to unset sessions with a prefix (php)?

我正在使用PHP设置会话变量,这些变量都以cont_ so $_SESSION['cont_开始。。。现在,由于与服务器相关的特定原因,我无法使用$_SESSION['cont']['subvariable'];。我试着做unset($_SESSION['cont_'*];,但会出错。

在不必设置$_SESSION['cont']['var'];的情况下,最好的方法是什么?

提前感谢!

foreach($_SESSION as $key => $val){
    if(substr($key,0,5) === "cont_"){
        unset($_SESSION[$key]);
    }
}

您必须循环遍历数组,找到以cont_开头的数组并取消设置。

foreach ($_SESSION as $key => $val) {
    if (preg_match('/$cont_/', $key)) {
        unset($_SESSION[$key]);
    }
}