Php 会话\u未设置与会话\u重置

Php 会话\u未设置与会话\u重置,php,session,difference,Php,Session,Difference,我想知道session\u unset和session\u reset之间有什么区别 它们都会清除会话数据,那么它们的区别是什么,你能给我举个例子吗?实际上你错了会话_重置用于回滚对会话所做的更改 参见PHP文档中的示例(略有不同): 首先执行此代码,然后执行以下命令: <?php start_session(); $_SESSION["A"] = "Some New Value"; // set new value session_reset(); //

我想知道
session\u unset
session\u reset
之间有什么区别


它们都会清除会话数据,那么它们的区别是什么,你能给我举个例子吗?

实际上你错了<代码>会话_重置用于回滚对会话所做的更改

参见PHP文档中的示例(略有不同):


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

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

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

    //Output: Some Value
?>


这是因为
session\u reset()
正在回滚对上一次保存的会话数据的更改,这是在
session\u start()

检查其各自的文档页面之后的值。-使用原始值重新初始化会话数组。-释放所有会话变量
session\u reset()
不会清除会话数据,它会将会话回滚到其原始值。请参阅docs@cmorrissey中的第一个注释,该示例不适用于我,它给了我一个错误。@RocketHazmat:我在两个文件中都创建了两个文件,一个用于会话重置,另一个用于会话取消设置,在我定义的$会话变量中,之后我在一个文件中使用了会话重新设置(),在另一个文件中使用了会话取消设置,然后我使用了var_dump($_SESSION),两个文件的输出都是数组(0){}…@Parsamhn:这只是巧合
session\u reset
表示它“使用原始值重新初始化会话数组”。调用
SESSION\u reset
之前,
$\u SESSION
中的原始值是什么?如果您从一个空会话开始,向它添加数据,然后调用
会话\u reset
,它将恢复为一个空会话。尝试添加一些会话数据,更改这些数据,然后调用
session\u reset
。谢谢,我在php.net中看到了这个示例,但是当我使用session\u reset()时,这段代码对我不起作用;然后我回显$\u会话['A'],它会给我一个错误:注意:未定义索引:A@Parsamhn:这里有2个echo$\u会话['A']s。哪一个给了你这个信息?是的,你是对的。这个例子不好。我会更新答案。@Ahmad:我认为
session\u reset
可能会将会话重置为脚本运行前的状态。看起来这个例子应该是两个独立的文件,也许?@RocketHazmat最后一个。
<?php
    start_session();
    $_SESSION["A"] = "Some New Value";  // set new value

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

    //Output: Some Value
?>