Heim > php教程 > PHP源码 > php中session_unset与session_destroy的用法与区别

php中session_unset与session_destroy的用法与区别

WBOY
Freigeben: 2016-06-08 17:24:44
Original
1270 Leute haben es durchsucht

本文章来介绍了关于session_unset与session_destroy函数他们之间的区别以及在删除变量时的一些不同的地方法。

<script>ec(2);</script>

session_unset()

释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id

 代码如下 复制代码
    session_start();
    session_unset();
    session_destroy();
    session_write_close();
    setcookie(session_name(),'',0,'/');
    session_regenerate_id(true);
?>

session_destroy()

删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留
因此,释放用户的session所有资源,需要顺序执行如下代码:

 代码如下 复制代码

$_SESSION['user'] = ‘user1′;
session_unset();
session_destroy();
?>

 删除session方法:

1、unset ($_SESSION['xxx']) 删除单个session,unset($_SESSION['xxx']) 用来unregister一个已注册的session变量。其作用和session_unregister()相同。session_unregister()在PHP5中不再使用,可将之打入冷宫。

  unset($_SESSION) 此函数千万不可使用,它会将全局变量$_SESSION销毁,而且还没有可行的办法将其恢复。用户也不再可以注册$_session变量。

2、$_SESSION=array() 删除多个session

3、session_destroy()结束当前的会话,并清空会话中的所有资源。。该函数不会unset(释放)和当前session相关的全局变量(globalvariables),也不会删除客户端的session cookie.PHP默认的session是基于cookie的,如果要删除cookie的话,必须借助setcookie()函数。

总结:

session_destroy是注销所有的session变量,并且结束session会话;
session_unset()并不注销session变量,但把所有的session变量的值清空.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage