请解释PHP';关于会话的文档

请解释PHP';关于会话的文档,php,session,Php,Session,我正在读书 session\u destroy()销毁与当前会话相关的所有数据。 清除持久存储中的会话数据。我明白了 它不会取消设置与会话关联的任何全局变量,也不会取消设置会话cookie。 会话变量仍在内存中。我也知道 要再次使用会话变量,必须调用session_start()。 这就是我不明白的!会话变量仍在内存中。我可以继续使用它。为什么他们特别指出调用session_start()再次使用变量 例如考虑下面的代码-< /P> session_start(); $_SESSION['fir

我正在读书

session\u destroy()销毁与当前会话相关的所有数据。

清除持久存储中的会话数据。我明白了

它不会取消设置与会话关联的任何全局变量,也不会取消设置会话cookie。

会话变量仍在内存中。我也知道

要再次使用会话变量,必须调用session_start()。

这就是我不明白的!会话变量仍在内存中。我可以继续使用它。为什么他们特别指出调用session_start()再次使用变量

例如考虑下面的代码-< /P>

session_start();
$_SESSION['first_name'] = "Foo";
$_SESSION['last_name'] = "Bar";
session_destroy();
echo $_SESSION['first_name'] . "<br>"; // I am able to do this, since the session data is still in memory. But I didn't need to call session_start(). So why does the documentation mention it?
session_start();
$\会话['first\u name']=“Foo”;
$\会话['last\u name']=“Bar”;
会话_destroy();
echo$\u会话['first\u name']。“
”;//我能够做到这一点,因为会话数据仍在内存中。但是我不需要调用session_start()。那么为什么文档中会提到它呢?
这是因为调用
SESSION\u start()
时,
$\u SESSION
数组仍然存在/已被声明。因此,如果要再次重新创建数组,调用
会话\u start
是唯一的方法


如果您在销毁后发出第二个请求,但没有调用
会话\u start
,您会发现
$\u会话
数组为空。

您可以使用它们,但不会保存它们。您确定在销毁会话并在会话密钥中设置值后,在php刷新之后,您仍然可以获得该值,而不需要
session\u start()
?而不是在刷新之后。但是文档是这样的
要再次使用会话变量,必须调用session_start()它并不能真正说明它是用于相同的请求-响应周期还是后续周期。旁注:如果您在PHP之外(在第一个文件中)放置一个链接,即:
并放置
会话_start();echo$\u会话['first\u name']。“
在该文件中,您将看到
Foo
不会出现,因为会话实际上已被破坏。(如果这回答了任何疑问)@user1720897是的,没错。这就是他们的意思。我必须承认,有时我也很难理解PHP.net文档。就好像他们希望我们一出生就把它植入我们的DNA里!英雄联盟