我可以使用以下内容取消设置几个会话

时间:2015-04-01 12:37:37

标签: php session unset

我有几个这样的会议:

$_SESSION['search']['max']
$_SESSION['search']['order']

目前,我用一个单独的声明取消了它们中的每一个:

if(isset($_SESSION['search']['max']) && $_SESSION['search']['max'] != ''){
        unset($_SESSION['search']['max']);
    }
if(isset($_SESSION['search']['order']) && $_SESSION['search']['order'] != ''){
        unset($_SESSION['search']['order']);
    }

我的问题是 - 我可以使用下面的一般未设置语句,而不是为每个会话单独声明:

if(isset($_SESSION['search']) && $_SESSION['search'] != ''){
            unset($_SESSION['search']);
        }

分别声明每个未设置的声明有什么好处吗?

注意:我需要同时取消它们,这意味着我不需要再保留一个或多个,因此我相信一个声明应该做,但需要确保我没有遗漏任何东西。< / p>

谢谢大家!

1 个答案:

答案 0 :(得分:3)

  

我有几个这样的会议:

不。你有一个会话。这些只是变数。

  

我的问题是 - 我可以使用下面的一般未设置语句,而不是为每个 session 变量单独声明:

  if(isset($_SESSION['search']) && $_SESSION['search'] != ''){
        unset($_SESSION['search']);
    }

你可以。它只是正常的数组。 unset($a)$a = null相同,因此您的代码只是:

if(isset($_SESSION['search']) && $_SESSION['search'] != ''){
    $_SESSION['search'] = null;
}

意味着{strong> $_SESSION['search']数组的每个元素都将被丢弃。

取消会话!
您的会话仍然有效,您只需丢弃会话中的一些变量!

  

分别声明每个未设置的声明有什么好处吗?

有。你可以控制哪些变量保留(例如,&#34;我想要A和B留下来,但是取消设置C和D&#34;)。但如果你喜欢&#34; nah,我确定我不需要它们中的任何一个&#34;,那么你可以将它们大量取消它们并且没有任何问题。