删除某个session值可以使用PHP的unset函数,删除后就会从全局变量$_SESSION中去除,无法访问。
session_start();
S
E
S
S
I
O
N
[
′
n
a
m
e
′
]
=
′
j
o
b
s
′
;
u
n
s
e
t
(
_SESSION['name'] = 'jobs'; unset(
SESSION[′name′]=′jobs′;unset(_SESSION[‘name’]);
echo $_SESSION[‘name’]; //提示name不存在
如果要删除所有的session,可以使用session_destroy函数销毁当前session,session_destroy会删除所有数据,但是session_id仍然存在。
session_start();
$_SESSION[‘name’] = ‘jobs’;
$_SESSION[‘time’] = time();
session_destroy();
值得注意的是,session_destroy并不会立即的销毁全局变量 S E S S I O N 中 的 值 , 只 有 当 下 次 再 访 问 的 时 候 , _SESSION中的值,只有当下次再访问的时候, SESSION中的值,只有当下次再访问的时候,_SESSION才为空,因此如果需要立即销毁$_SESSION,可以使用unset函数。
session_start();
$_SESSION[‘name’] = ‘jobs’;
S
E
S
S
I
O
N
[
′
t
i
m
e
′
]
=
t
i
m
e
(
)
;
u
n
s
e
t
(
_SESSION['time'] = time(); unset(
SESSION[′time′]=time();unset(_SESSION);
session_destroy();
var_dump($_SESSION); //此时已为空
如果需要同时销毁cookie中的session_id,通常在用户退出的时候可能会用到,则还需要显式的调用setcookie方法删除session_id的cookie值