1、unset($_SESSION['xxx']) 刪除單個session,unset($_SESSION['xxx']) 用來unregister一個已注冊的session變量。其作用和session_unregister()相同。
session_unregister()在PHP5中已經廢棄。
<?php // 初始化session. session_start(); /*** 刪除所有的session變量..也可用unset($_SESSION[xxx])逐個刪除。****/ $_SESSION = array(); /***刪除sessin id.由於session默認是基於cookie的,所以使用setcookie刪除包含session id的cookie.***/ if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 最後徹底銷毀session. session_destroy(); ?>
unset($_SESSION) 此函數千萬不可使用,它會將全局變量$_SESSION銷毀,而且還沒有可行的辦法將其恢復。用戶也不再可以注冊$_session變量。
2、session_unset() 或者 $_SESSION=array() 刪除多個session
3、session_destroy()結束當前的會話,並清空會話中的所有資源。該函數不會unset(釋放)和當前session相關的全局變量(globalvariables),也不會刪除客戶端的session cookie.PHP默認的session是基於cookie的,如果要刪除cookie的話,必須借助setcookie()函數。
總結:
session_destroy是注銷所有的session變量,並且結束session會話;
如果希望刪除一些session數據,則可以使用unset()函數或session_destroy()函數。unset()函數的作用是釋放指定的session變量,調用格式如下:
<?php unset($_SESSION['jugelizi']); ?>
session_destroy()函數的作用是將session全部刪除,調用格式如下:
<?PHP session_destroy(); ?>
提示:session_destroy()會重新設置session,你會丟失所有已保存的session數據。
session_unset()並不注銷session變量,但把所有的session變量的值清空。