從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 關注
- 641 瀏覽
添加回答
舉報
0/150
提交
取消