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

来源:互联网 发布:koala for mac 编辑:程序博客网 时间:2024/05/29 18:18
 **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 = 3Views2 =
    通过输出结果可以看到调用session_destroy()函数,session的id被清空,但是$_SESSION里面的变量值还是存在的,然而调用session_unset()函数之后就取不到之前存放的变量值了;
1 0