<分区>
我正在尝试取消设置和销毁一个特定的 session ,我遇到了不同的方法,我想知道哪种方法是完成这项工作和处理大多数 php 版本的有效方法。
第一种方法:
unset($_SESSION['site1']);
session_destroy();
第二种方法:
session_unset();
session_destroy();
更新:[已解决]
<?php
session_start();
unset($_SESSION['site1']);
?>
<分区>
我正在尝试取消设置和销毁一个特定的 session ,我遇到了不同的方法,我想知道哪种方法是完成这项工作和处理大多数 php 版本的有效方法。
第一种方法:
unset($_SESSION['site1']);
session_destroy();
第二种方法:
session_unset();
session_destroy();
更新:[已解决]
<?php
session_start();
unset($_SESSION['site1']);
?>
最佳答案
只需使用unset
即可取消设置任何数组索引。而Session本身就是一个数组。因此,使用 unset
取消设置您的特定 session 索引。对于 session_unset
和 session_destroy
函数,您是错误的,因为它们不接受任何参数。
还需要注意的一点是,您不应该使用 session_destroy
,因为它会取消设置所有可用的 session 。例如。注销时,您可能不想丢失使用 session 形成的购物车中的产品。
编辑
session_destroy — 销毁注册到 session 的所有数据
session_unset — 释放所有 session 变量
session_unset 只是清除 $_SESSION 变量。这相当于做:
$_SESSION = array();
所以这只会影响本地 $_SESSION 变量实例,不会影响 session 存储中的 session 数据。
与此相反,session_destroy 销毁存储在 session 存储中的 session 数据(例如文件系统中的 session 文件)。
其他一切都保持不变。
关于php - 哪些方法销毁/取消设置 session 变量并且在大多数 PHP 版本中也能有效工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17217777/