我有几个这样的会议:
$_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>
谢谢大家!
答案 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;,那么你可以将它们大量取消它们并且没有任何问题。