【问题标题】:Will creating new array clear the whole php session data?创建新数组会清除整个 php 会话数据吗?
【发布时间】:2010-06-26 21:06:28
【问题描述】:

代码如下:

$_SESSION = array();

它会清除所有会话数据吗?如果我不想使用 session_destory()。

【问题讨论】:

    标签: php session arrays


    【解决方案1】:

    是的,它会销毁所有会话数据,但不会销毁会话本身。

    基本上,一个会话包含三个元素:

    • 会话本身,初始化为session_start()
    • 自动设置的会话 cookie
    • 通过$_SESSION['foo'] = 'bar'设置的会话数据

    所以你只是在破坏会话数据。 session_destroy() 会破坏数据和会话本身,但不会删除会话 cookie。

    $_SESSION = array()session_destroy() 之间唯一“真正”的区别是在session_destroy() 之后,在初始化新会话之前设置会话数据将不再起作用。

    【讨论】:

    • 这类似于说 $_SESSION = array();将 /reset/ 会话,而 session_destory() /removes/ 它。
    【解决方案2】:

    Yes,将$_SESSION 设置为空白数组实际上会取消设置所有现有数组键。

    【讨论】:

      猜你喜欢
      • 2015-08-14
      • 1970-01-01
      • 2016-06-21
      • 2021-01-04
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      • 2013-03-07
      • 2012-07-25
      相关资源
      最近更新 更多