示例我有100个表单字段。每个字段都有错误会话。表单成功提交后,我希望取消设置以$_SESSION['submit_']
首先,我可以这样做
unset($_SESSION['submit_first_name'],
$_SESSION['submit_last_name'],
$_SESSION['submit_status'],
$_SESSION['submit_mobile'],
$_SESSION['submit_category']);
但是太长了。
如果我喜欢
session_destroy();
然后会杀死我的登录会话
可以取消设置会话字以 [submit_']
开头?
让我知道:)。
答案 0 :(得分:9)
您可以这样做:
foreach($_SESSION as $key=>$value)
if (strpos($key, 'submit_') === 0)
unset($_SESSION[$key]);
或者您可以重新排列$ _SESSION变量,如下所示:
$_SESSION['submit']['first_name'];
$_SESSION['submit']['last_name'];
$_SESSION['log']['some_log'];
.
.
.
unset($_SESSION['submit']);
答案 1 :(得分:0)
不确定您是否可以使用通配符,但如果可以帮助您,可以在一个命令中列出它们......就像这样:
unset($_SESSION['submit_last_name'], $_SESSION['submit_status'], $_SESSION['submit_mobile'], etc...);
但是我不确定这是否会让你到处......至少它不是多行的。我将使用通配符进行研究,但你可以谷歌以及我可以:)