在 php 中从应用程序中取消设置许多会话,但不是全部


Unset many session from application in php but not all

我正在开发一个具有许多会话变量的php Web应用程序。我想取消设置其中的一些。

我不想写很多行代码

unset($_SESSION['a']);
unset($_SESSION['b']);
unset($_SESSION['c']);
unset($_SESSION['d']);
unset($_SESSION['f']);
unset($_SESSION['a']);

可以通过一种方法取消设置这一切吗?

谢谢

方法 1:

$removeKeys = array('a', 'b', 'c', 'd', 'e');
foreach($removeKeys as $key) {
   unset($_SESSION[$key]);
}

方法2:

unset($_SESSION['a'], $_SESSION['b'], $_SESSION['c']);

Unset 接受多个变量,您可以将它们全部传入 - 或创建一个这样的列表:-

<?php
$keys = array('a', 'b', 'c', 'd');
foreach ($keys as $key) {
    unset($_SESSION[$key]);
}

您可以对数组元素进行分组,然后取消设置为整个组。

$_SESSION['foo']['a'] = 'value_a';
...
$_SESSION['foo']['f'] = 'value_f';
unset($_SESSION['foo']);