在php中,可以利用unset()函數(shù)來刪除“session_id”,該函數(shù)可以銷毀給定的變量,語法格式“unset($_SESSION['session_id']);”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
刪除某個session值可以使用PHP的unset函數(shù),刪除后就會從全局變量$_SESSION
中去除,無法訪問。
session_start(); $_SESSION['name'] = 'jobs'; unset($_SESSION['name']); echo $_SESSION['name']; //提示name不存在
如果要刪除所有的session,可以使用session_destroy函數(shù)銷毀當前session,session_destroy會刪除所有數(shù)據(jù),但是session_id仍然存在。
session_start(); $_SESSION['name'] = 'jobs'; $_SESSION['time'] = time(); session_destroy();
值得注意的是,session_destroy并不會立即的銷毀全局變量$_SESSION中的值,只有當下次再訪問的時候,$_SESSION才為空,因此如果需要立即銷毀$_SESSION,可以使用unset函數(shù)。
session_start(); $_SESSION['name'] = 'jobs'; $_SESSION['time'] = time(); unset($_SESSION); session_destroy(); var_dump($_SESSION); //此時已為空
如果需要同時銷毀cookie中的session_id,通常在用戶退出的時候可能會用到,則還需要顯式的調用setcookie方法刪除session_id的cookie值。
任務
使用unset刪除name的session值。
<?php session_start(); $_SESSION['name'] = 'jobs'; //在這里刪除name的session值 unset($_SESSION['name']); if (isset($_SESSION['name'])) { echo $_SESSION['name']; return; } echo 'session被銷毀';
推薦學習:《PHP視頻教程》