PHP 里面session_unset()函数与session_destroy()函数比较
**session_unset()**:释放当前在内存中已经创建的所有$_SESSION变量,但是不删除session文件以及不释放对应的session id;
**session_destroy()**:删除当前用户对应的session文件以及释放session id,内存中$_SESSION变量内容依然保留;
下面是一个对比:
<?php
//session_start();必须位于<html>标签之前
session_start();
$_SESSION["view"]=3;
?>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
// put your code here
echo "session的id为:".session_id()."<br>";
if(session_destroy()){
echo "清除成功!"."<br>";
echo "session的id为:".session_id()."<br>";
echo "Views1 = ".$_SESSION["view"]."<br>";
unset($_SESSION);
echo "Views2 = ".$_SESSION["view"];
}
else{
unset($_SESSION);
echo "Views2 = ".$_SESSION["view"];
}
?>
</body>
</html>
输出结果为:
session的id为:rj8807cckpsnafo4mt6kp4obp5
清除成功!
session的id为:
Views1 = 3
Views2 =
通过输出结果可以看到调用session_destroy()函数,session的id被清空,但是$_SESSION里面的变量值还是存在的,然而调用session_unset()函数之后就取不到之前存放的变量值了;
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: python 获取当天每个准点时间戳
- 下一篇: Spring MVC拦截器配置及其原理分析