上篇博文写了一个关于彻底删除 session 资源的方法,其中涉及到 session_unset()与session_destroy() 函数,那么这篇博文就说一说这两个函数之间的区别!

php session_unset 函数介绍

session_unset():释放当前在内存中已经创建的所有$_SESSION变量,但不删除session存储文件以及不释放对应的session_id。

示例:

//feiniaomy.com
session_start();
$_SESSION['user'] = 'mochu';
echo $_SESSION['user'];  //输出 mochu
echo '<br/>';
//清空变量
session_unset();
echo $_SESSION['user'];
echo '<br/>';       //没有值输出
echo session_id();  //输出 pjp6274q1cfuhvei2omgr6jtnj
var_dump($_SESSION); //无内容

php session_destroy 函数介绍

session_destroy():删除当前用户对应的session存储文件以及释放session_id,但内存中的$_SESSION变量内容依然保留!

例:

session_start();
$_SESSION['user'] = 'mochu';
echo $_SESSION['user'];  //输出 mochu
echo '<br/>';
//清空变量
session_destroy();
echo $_SESSION['user'];
echo '<br/>';       //输出 mochu
echo session_id();  //无内容
var_dump($_SESSION); //有内容