夜光序言:
一个懂你泪水的朋友,胜过一群只懂你笑容的朋友。有的人对你好,是因为你对他好,有的人对你好,是因为懂得你的好。
幸福,从来都没有捷径,也没有完美无瑕,只有经营,只靠真心。
正文:
删除与销毁session
删除某个session值可以使用PHP的unset函数,删除后就会从全局变量$_SESSION中去除,无法访问。
session_start();
$_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并不会立即的销毁全局变量$_SESSION中的值,只有当下次再访问的时候,$_SESSION才为空,因此如果需要立即销毁$_SESSION,可以使用unset函数。
session_start();
$_SESSION['name'] = 'jobs';
$_SESSION['time'] = time();
unset($_SESSION);
session_destroy();
var_dump($_SESSION); //此时已为空
如果需要同时销毁cookie中的session_id,通常在用户退出的时候可能会用到,则还需要显式的调用setcookie方法删除session_id的cookie值。
任务
使用unset删除name的session值。
destroy的用法
<?php
session_start();$_SESSION['name'] = 'jobs';
//在这里用destroy删除session值
session_destroy();
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}
<?php
session_start();
$_SESSION['name'] = 'jobs';
//在这里删除name的session值
unset($_SESSION['name']);
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}