为了账号安全,请及时绑定邮箱和手机立即绑定

PHP中的session_unset()和session_destroy()有什么区别?

PHP中的session_unset()和session_destroy()有什么区别?

PHP
aluckdog 2019-12-17 14:35:18
从php.net文档中:session_destroy —销毁注册到会话的所有数据session_unset —释放所有会话变量我的三部分问题是:这两个功能看起来非常相似。两者之间的真正区别是什么?两者似乎都删除了注册到会话的所有变量。它们中的任何一个是否实际上破坏了会话本身?如果不是,您如何完成此任务(销毁会话本身)。这两个函数都没有删除客户端的会话cookie是否正确?
查看完整描述

3 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

session_unset只是清除$_SESSION变量。等效于:


$_SESSION = array();

因此,这只会影响局部$_SESSION变量实例,而不会影响会话存储中的会话数据。


与此相反,session_destroy销毁存储在会话存储器中的会话数据(例如文件系统中的会话文件)。


其他所有内容保持不变。


查看完整回答
反对 回复 2019-12-17
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

session_destroy(); 正在删除整个会话。


session_unset();仅从会话中删除变量-会话仍然存在。仅数据被截断。


查看完整回答
反对 回复 2019-12-17
?
江户川乱折腾

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;


查看完整回答
反对 回复 2019-12-17
  • 3 回答
  • 0 关注
  • 583 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信