PHP中的SESSION的删除为什么要有$_SESSION=array()

看删除SESSION的步骤,是这样的:
①session_start()
②$_SESSION=array()
③session_destroy()
SESSION不是保存在服务器上的以SESSION ID命名的文本文件中吗? 那么直接用第三步删除文件不就可以了,第二步的重置数组有什么用?

session_destroy() 销毁当前会话中的全部数据, 但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。


上面一段是PHP手册中的内容


我来总结一下的话,就是你执行session_destroy()不会重置当前会话中的SESSION内容


所以需要用第二部对当前会话进行SESSION重置


否则,你在session_destroy之后还是能够取得SESSION数据的


当然,根据手册,上面还少了一步如下:

if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

温馨提示:答案为网友推荐,仅供参考