如何使用通配符取消设置$ _SESSION

Blu*_*lur 2 php session

示例我有100个表单字段.每个字段都有错误会话.当表单成功提交时,我想要取消设置任何单词开头的会话$_SESSION['submit_']

首先,我可以这样做

unset($_SESSION['submit_first_name'],
$_SESSION['submit_last_name'],
$_SESSION['submit_status'],
$_SESSION['submit_mobile'],
$_SESSION['submit_category']);
Run Code Online (Sandbox Code Playgroud)

但是太久了.

如果我喜欢

session_destroy();
Run Code Online (Sandbox Code Playgroud)

然后会杀死我的登录会话

可以取消设置会话单词开头[submit_']

让我知道 :)

Ist*_*ros 9

你可以这样做:

foreach($_SESSION as $key=>$value)
  if (strpos($key, 'submit_') === 0)
    unset($_SESSION[$key]);
Run Code Online (Sandbox Code Playgroud)

或者您可以重新排列$ _SESSION变量,如下所示:

$_SESSION['submit']['first_name'];
$_SESSION['submit']['last_name'];
$_SESSION['log']['some_log'];
.
.
.
unset($_SESSION['submit']);
Run Code Online (Sandbox Code Playgroud)