Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中取消设置55个会话变量中的54个_Php - Fatal编程技术网

在PHP中取消设置55个会话变量中的54个

在PHP中取消设置55个会话变量中的54个,php,Php,我有55个会话变量,想取消设置其中的54个。它们都以sv开头 我想保留的是以nb开头的 我试着这么做,但没用。有人有什么建议吗 foreach($_SESSION as $key => $val) { if ($key !== 'nb') { unset($_SESSION[$key]); } } 我正在考虑使用循环来取消设置它们,而不是键入取消设置(变量)54次您可以使用substr()查找前两个字母并排除“nb” foreach($_SESSI

我有
55个会话变量
,想
取消设置其中的54个。它们都以sv开头

我想保留的是以nb开头的

我试着这么做,但没用。有人有什么建议吗

foreach($_SESSION as $key => $val)
{
    if ($key !== 'nb')
    {
        unset($_SESSION[$key]);
    }
}
我正在考虑使用
循环
取消设置
它们,而不是键入
取消设置(变量)54次

您可以使用
substr()
查找前两个字母并排除“nb”

foreach($_SESSION as $key => $val)
{

    if (substr($key,0,2) !== 'nb')
    {

        unset($_SESSION[$key]);

    }

}

检查字符串是否从
nb开始

foreach($_SESSION as $key => $val)
    if (strpos($key,'nb') !== 0) unset($_SESSION[$key]);
这个怎么样:

foreach($_SESSION as $key => $val)
{
    if (substr($key,0,2) !== 'nb')
    {
        unset($_SESSION[$key]);
    }
}

使用
sub_string
检查“nb”是否位于字符串的开头。