从php.net文档中:session_destroy —销毁注册到会话的所有数据session_unset —释放所有会话变量我的三部分问题是:这两个功能看起来非常相似。两者之间的真正区别是什么?两者似乎都删除了注册到会话的所有变量。它们中的任何一个是否实际上破坏了会话本身?如果不是,您如何完成此任务(销毁会话本身)。这两个函数都没有删除客户端的会话cookie是否正确?
3 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
session_unset只是清除$_SESSION变量。等效于:
$_SESSION = array();
因此,这只会影响局部$_SESSION变量实例,而不会影响会话存储中的会话数据。
与此相反,session_destroy销毁存储在会话存储器中的会话数据(例如文件系统中的会话文件)。
其他所有内容保持不变。
江户川乱折腾
TA贡献1851条经验 获得超5个赞
session_unset();
只需清除所有会话变量的所有数据即可。
session_destroy();
删除所有会话。
范例:
session_start();
session_destroy();
$a = "1234";
$_SESSION[a] = $a;
$_SESSION[a]是NULL。
session_start();
session_unset();
$a = "1234";
$_SESSION[a] = $a;
$_SESSION[a]是1234。
因此,我将使用:
session_start();
session_destroy();
session_start();
$a = "1234";
$_SESSION[a] = $a;
- 3 回答
- 0 关注
- 605 浏览
添加回答
举报
0/150
提交
取消