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

php中session_unset与session_destroy的用法与区别

WBOY
Release: 2016-06-08 17:24:44
Original
1265 people have browsed it

本文章来介绍了关于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变量的值清空.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template