我对PHP中的session_destroy()
函数感到困惑。我在php手册中读到它会破坏注册到会话的所有数据。究竟是什么意思?
当我尝试回复$_SESSION
之后存储在session_destroy()
中的结果时,它仍会被打印出来!
我只是认为存储在$_SESSION
中的结果是注册到会话的数据
如果这是错的,那么php手册正试图传达的数据是什么。
需要指导。
session_start();
class Student
{
public $name;
public $id;
function setName($param)
{
return $this->name=$param;
}
}
$student_1=new Student();
$stu=$student_1->setName("Abhinav");
$_SESSION["name1"]=$stu;
session_destroy();
print_r($_SESSION);
答案 0 :(得分:2)
你可以简单地做:
$_SESSION = [];
但建议不要这样做。所以我用的是:
<?php
session_unset();
session_destroy();
答案 1 :(得分:0)
session_destroy()
销毁与当前会话相关的所有数据。 它不会取消设置与会话相关的任何全局变量,或者取消设置会话cookie
答案 2 :(得分:0)
在session_destry()开始会话之前,取消设置所有值。
unset($_SESSION["variable"]);
答案 3 :(得分:0)
session_destroy()
销毁与当前会话相关的所有数据。它不会取消设置与会话关联的任何全局变量
http://php.net/manual/en/function.session-destroy.php
要完全销毁会话,您可以使用unset()
unset($_SESSION);
它将删除$_SESSION
中的所有内容。
要么
您还可以将$_SESSION
设置为空数组
$_SESSION = array();
希望它会有所帮助。
答案 4 :(得分:0)
会话用于在网站页面之间传输数据。即使您使用session_destroy()销毁会话数据也不会从$ _SESSION中删除,但是当您访问另一个网站页面时,$ _SESSION数组中将没有数据。