开启辅助访问
帐号登录 |立即注册

PHP清除、删除Session的三种方式

 
1、删除单个 Session 元素【示例】使用 unset() 函数,删除指定的 Session 元素。
[PHP] 纯文本查看 复制代码
<?php
    session_start();
    echo '<pre>';
    $str = 'C语言中文网';
    $arr = ['删除 Session','$_SESSION'];
    $_SESSION['name']  = $str;
    $_SESSION['url']   = 'http://c.biancheng.net/php/';
    $_SESSION['title'] = $arr;
    echo '定义一个 Session,如下所示:<br>';
    print_r($_SESSION);
    echo '删除 Session 中名为 title 的元素:<br>';
    unset($_SESSION['title']);
    print_r($_SESSION);
?>

2、删除多个 Session 元素
如果想要一次性删除多个 Session 元素,即一次注销所有的会话变量,可以通过将一个空的数组赋值给 $_SESSION 来实现,示例代码如下:
[PHP] 纯文本查看 复制代码
<?php
    session_start();
    echo '<pre>';
    $str = 'C语言中文网';
    $arr = ['删除 Session','$_SESSION'];
    $_SESSION['name']  = $str;
    $_SESSION['url']   = 'http://c.biancheng.net/php/';
    $_SESSION['title'] = $arr;
    echo '定义一个 Session,如下所示:<br>';
    print_r($_SESSION);
    echo '删除 Session 中的多个元素:<br>';
    $_SESSION = array();
    print_r($_SESSION);
?>

当然,除了可以给 $_SESSION 赋值一个空数组外,使用 session_unset() 函数也可以释放 Session 中的所有元素,函数的语法格式如下:
session_unset()
session_unset() 函数不需要传入参数,而且没有返回值。示例代码如下:

[PHP] 纯文本查看 复制代码
<?php
    session_start();
    echo '<pre>';
    $str = 'C语言中文网';
    $arr = ['删除 Session','$_SESSION'];
    $_SESSION['name']  = $str;
    $_SESSION['url']   = 'http://c.biancheng.net/php/';
    $_SESSION['title'] = $arr;
    echo '定义一个 Session,如下所示:<br>';
    print_r($_SESSION);
    echo '使用 session_unset() 函数释放 Session 中的所有元素:<br>';
    session_unset();
    print_r($_SESSION);
?>

3、结束当前会话
如果整个 Session 会话结束,可以使用 session_destroy() 函数销毁当前会话的全部数据,即彻底销毁 Session,函数的语法格式如下:
session_destroy()

session_destroy() 函数不需要传入任何参数,另外,session_destroy() 函数虽然可以销毁当前会话中的全部数据,但是不会重置 $_SESSION 数组,也不会重置 Cookie。如果需要再次使用 Session 会话,则必须重新调用 session_start() 函数。
注意:使用 $_SESSION = array() 清空 $_SESSION 数组的同时,也将这个用户在服务器端对应的 Session 文件内容清空。而使用 session_destroy() 函数时,则是将这个用户在服务器端对应的 Session 文件删除。

回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。