2015-06-10 70 views
-1

我有55 session variables並且想要unset 54。他們都開始SV取消設置54中55個會話變量中的PHP

而且,我想保持一個開始NB

我試圖做到這一點,但無濟於事。有人有任何建議嗎?

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

我想用一個loopunset他們而不是鍵入unset(variable) 54 times

+0

使用''''sub_string''''檢查 'NB' 是字符串的開頭。 http://stackoverflow.com/questions/2790899/php-how-to-check-if-a-string-starts-with-a-specified-string – Szenis

回答

3

您可以使用substr()找到的前兩個字母,並排除「NB」。

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

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

     unset($_SESSION[$key]); 

    } 

} 
+0

活的傳奇!謝謝 –

0

檢查字符串從nb

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

開始這個怎麼樣:

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