0

我如何删除、取消设置以键模式开头的会话变量,例如

钥匙喜欢的地方

Guard_1660743344
Guard_4323340344
Guard_5343332233
.....
Guard_[dynamicvalue]

如果会话密钥以“Guard_”开头,我想从托盘中删除所有会话变量

unset($_SESSION[$key]);

抱歉,我尽力寻找解决方案但失败了,因此问

4

2 回答 2

6

我想foreach在这种情况下循环将是最好的:(工作 eval.in

<?php 

    foreach(array_keys($_SESSION) as $key) // loop over all keys of the session
        if(substr($key,0,6)=='Guard_') // if the key starts with Guard_
            unset($_SESSION[$key]); // unset it

?>

请注意,循环array_keys($_SESSION)将比循环整个$_SESSION数组更有效。

于 2013-09-11T01:30:53.040 回答
0

这很简单:

foreach($_SESSION as $key => $value) { //iterate over all session keys
    if(substr($key, 0, 6) === 'Guard_') { //test if the key prefix matches
        unset($_SESSION[$key]); //if it does, remove it from the array
    }
}
于 2013-09-11T01:34:49.493 回答