从php.net文档中:
-销毁注册到会话的所有数据
-释放所有会话变量
我的三部分问题是:
这两个功能看起来非常相似。
这两者到底有什么不同呢?
两者似乎都删除了注册到会话的所有变量。它们中的任何一个实际上会破坏会话本身吗?如果不是,您如何完成此操作(销毁会话本身)。
这两个函数都不会删除客户端的会话cookie,这是正确的吗?
发布于 2010-11-30 18:20:38
只清除$_SESSION
变量。它等同于做:
$_SESSION = array();
因此,这只影响本地$_SESSION
变量实例,而不影响会话存储中的会话数据。
相反,会销毁存储在会话存储中的会话数据(例如,文件系统中的会话文件)。
其他一切都保持不变。
发布于 2010-11-29 19:37:51
session_destroy();
正在删除整个会话。
session_unset();
仅从会话中删除变量-会话仍然存在。仅截断数据。
发布于 2011-07-01 09:49:31
session_unset();
只清除所有会话变量的所有数据。
session_destroy();
删除所有会话。
示例
session_start();
session_destroy();
$a = "1234";
$_SESSION[a] = $a;
$_SESSION[a]
isNULL
。
session_start();
session_unset();
$a = "1234";
$_SESSION[a] = $a;
$_SESSION[a]
is1234
。
因此,我将使用:
session_start();
session_destroy();
session_start();
$a = "1234";
$_SESSION[a] = $a;
https://stackoverflow.com/questions/4303311
复制相似问题