session_unset VS session_reset

session_unset VS session_reset

我想知道session_unsetsession_reset有什么区别。

两者都是清除$_SESSION数据,那么它们有什么区别,能给个例子吗?

其实你错了。 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() 之后的值。