牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP 里面session_unset()函数与session_destroy()函数比较

创建时间:2016-07-08 投稿人: 浏览次数:2622
 **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()函数之后就取不到之前存放的变量值了;
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。