session_reset() 无法正常工作
session_reset() not working properly
根据 PHP.net 的描述,session_reset() 应该使用原始 values.Nevertheless 重新初始化会话数组,当我 运行 以下代码时,输出将是 "Some New Value" 而输出应该是 "Some value"。而且我安装的 PHP 版本是 5.6。1.Please 如果你知道问题是什么,请回答?
<?php
session_start();
$_SESSION["A"] = "Some Value";
echo $_SESSION["A"];
$_SESSION["A"] = "Some New Value";
session_reset();
echo $_SESSION["A"];
?>
session_reset()
实际上将 $_SESSION
恢复到 session_start()
之后的点,或者更准确地说,恢复到最后保存的值(通过脚本结束或 session_write_close
).
因此,如果在会话上次关闭时没有为 $_SESSION["A"] 设置任何内容,那么对于您的第二个 echo
,您将获得 Notice: Undefined index: A
,但是如果您已经有一个以前分配给它的值(例如,分配值 "Some New Value" 然后保存) - 你会得到那个值。您的示例可能就是这种情况。
根据 PHP.net 的描述,session_reset() 应该使用原始 values.Nevertheless 重新初始化会话数组,当我 运行 以下代码时,输出将是 "Some New Value" 而输出应该是 "Some value"。而且我安装的 PHP 版本是 5.6。1.Please 如果你知道问题是什么,请回答?
<?php
session_start();
$_SESSION["A"] = "Some Value";
echo $_SESSION["A"];
$_SESSION["A"] = "Some New Value";
session_reset();
echo $_SESSION["A"];
?>
session_reset()
实际上将 $_SESSION
恢复到 session_start()
之后的点,或者更准确地说,恢复到最后保存的值(通过脚本结束或 session_write_close
).
因此,如果在会话上次关闭时没有为 $_SESSION["A"] 设置任何内容,那么对于您的第二个 echo
,您将获得 Notice: Undefined index: A
,但是如果您已经有一个以前分配给它的值(例如,分配值 "Some New Value" 然后保存) - 你会得到那个值。您的示例可能就是这种情况。