session_unset VS session_reset

时间:2015-09-02 19:09:59

标签: php session difference

我想知道session_unsetsession_reset之间的区别。

他们都清除了$_SESSION数据,所以它们的区别是什么,你能给我一个例子吗?

1 个答案:

答案 0 :(得分:3)

其实你错了。 session_reset用于回滚对会话所做的更改。

请参阅此示例,从PHP文档(稍有不同):

<?php
    session_start();
    $_SESSION["A"] = "Some Value";
?>

首先执行此代码,然后执行以下命令:

<?php
    start_session();
    $_SESSION["A"] = "Some New Value";  // set new value

    session_reset();  // old session value restored
    echo $_SESSION["A"];

    //Output: Some Value
?>

这是因为session_reset()正在回滚对上次保存的会话数据的更改,这是session_start()之后的值。