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

时间:2012-07-27 22:33:37

标签: php session

我正在使用PHP来设置会话变量,这些变量都以cont_ $_SESSION['cont_开头...现在我无法使用$_SESSION['cont']['subvariable'];来解决与服务器相关的特定原因。我尝试过unset($_SESSION['cont_'*];,但这会产生错误。

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

提前多多感谢!

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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

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