PHP清除、删除Session
删除 Session 会话的方法主要有删除单个 Session 元素、删除多个 Session 元素和结束当前会话 3 种,下面分别介绍一下。
1、删除单个 Session 元素
删除单个 Session 元素同数组的操作一样,直接注销 $_SESSION 数组的某个元素即可。例如,删除 $_SESSION['name'] 时,可以直接使用 unset() 函数,例如 unset($_SESSION['name']);
。unset() 函数可以释放指定的变量,其语法格式如下:
unset(mixed $var [, mixed $...])
其中 $var 为要释放的变量,unset() 函数可以接收多个参数,参数之间使用,
分隔。
注意:在使用 unset() 函数删除单个 Session 元素时,要注意尽量不要省略具体的元素名,即不要一次性的注销整个 $_SESSION 数组,这样有可能会造成意想不到的错误。
【示例】使用 unset() 函数,删除指定的 Session 元素。<?php session_start(); echo '<pre>'; $str = '新宝库'; $arr = ['删除 Session','$_SESSION']; $_SESSION['name'] = $str; $_SESSION['url'] = 'https://www.xinbaoku.com/php/'; $_SESSION['title'] = $arr; echo '定义一个 Session,如下所示:<br>'; print_r($_SESSION); echo '删除 Session 中名为 title 的元素:<br>'; unset($_SESSION['title']); print_r($_SESSION); ?>运行结果如下:
定义一个 Session,如下所示:
Array
(
[name] => 新宝库
[url] => https://www.xinbaoku.com/php/
[title] => Array
(
[0] => 删除 Session
[1] => $_SESSION
)
)
删除 Session 中名为 title 的元素:
Array
(
[name] => 新宝库
[url] => https://www.xinbaoku.com/php/
)
2、删除多个 Session 元素
如果想要一次性删除多个 Session 元素,即一次注销所有的会话变量,可以通过将一个空的数组赋值给 $_SESSION 来实现,示例代码如下:<?php session_start(); echo '<pre>'; $str = '新宝库'; $arr = ['删除 Session','$_SESSION']; $_SESSION['name'] = $str; $_SESSION['url'] = 'https://www.xinbaoku.com/php/'; $_SESSION['title'] = $arr; echo '定义一个 Session,如下所示:<br>'; print_r($_SESSION); echo '删除 Session 中的多个元素:<br>'; $_SESSION = array(); print_r($_SESSION); ?>运行结果如下:
定义一个 Session,如下所示:
Array
(
[name] => 新宝库
[url] => https://www.xinbaoku.com/php/
[title] => Array
(
[0] => 删除 Session
[1] => $_SESSION
) )
删除 Session 中的多个元素:
Array
(
)
session_unset()
session_unset() 函数不需要传入参数,而且没有返回值。示例代码如下:<?php session_start(); echo '<pre>'; $str = '新宝库'; $arr = ['删除 Session','$_SESSION']; $_SESSION['name'] = $str; $_SESSION['url'] = 'https://www.xinbaoku.com/php/'; $_SESSION['title'] = $arr; echo '定义一个 Session,如下所示:<br>'; print_r($_SESSION); echo '使用 session_unset() 函数释放 Session 中的所有元素:<br>'; session_unset(); print_r($_SESSION); ?>运行结果如下:
定义一个 Session,如下所示:
Array
(
[name] => 新宝库
[url] => https://www.xinbaoku.com/php/
[title] => Array
(
[0] => 删除 Session
[1] => $_SESSION
)
)
使用 session_unset() 函数释放 Session 中的所有元素:
Array
(
)
3、结束当前会话
如果整个 Session 会话结束,可以使用 session_destroy() 函数销毁当前会话的全部数据,即彻底销毁 Session,函数的语法格式如下:session_destroy()
session_destroy() 函数不需要传入任何参数,另外,session_destroy() 函数虽然可以销毁当前会话中的全部数据,但是不会重置 $_SESSION 数组,也不会重置 Cookie。如果需要再次使用 Session 会话,则必须重新调用 session_start() 函数。注意:使用 $_SESSION = array() 清空 $_SESSION 数组的同时,也将这个用户在服务器端对应的 Session 文件内容清空。而使用 session_destroy() 函数时,则是将这个用户在服务器端对应的 Session 文件删除。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算