使用unset()函数删除单个session变量

源码如下:

<?php
   session_start();
   $_SESSION[\'username\'] = \"Joe\";
   echo \"Your username is: \".$_SESSION[\'username\'].\".<br />\";
   /* http://www.manongjc.com/article/1287.html */
   /* Delete the session variable. */
   unset($_SESSION[\'username\']);

   /* Demonstrate that session variable is indeed gone. */
   echo \"Username now set to: \".$_SESSION[\'username\'].\".\";

?>

输出结果:

Your username is: Joe.

Notice: Undefined index: username in D:\\wamp\\www\\php.php on line 10
Username now set to: .

因为$_SESSION['username']已经被删除了,所以会出现notice报错信息。

 

使用unset()函数删除所有session变量

可能很多朋友会想当然的认为删除所有session变量的代码是这样的:

unset($_SESSION);

这样正确吗?肯定是不正确的,因为unset($_SESSION)是删除整个$_SESSION数组,这样将不能使用$_SESSION数组注册变量了。正确的做法是:

$_SESSION=array();

上面代码将session中注册的变量全部删除。

收藏 打印