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