创建新数组会清除整个php会话数据吗?

时间:2010-06-26 21:06:29

标签: php session arrays

以下代码:

$_SESSION = array();

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

2 个答案:

答案 0 :(得分:3)

是的,它会破坏所有会话数据,但不会破坏会话本身。

基本上,会话有三个要素:

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

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

$_SESSION = array()session_destroy()之间唯一的“真正”差异在于session_destroy()之后,在初始化新会话之前,设置会话数据将不再有效。

答案 1 :(得分:-2)

Yes,将$_SESSION设置为空数组将基本取消所有现有数组键的设置。