在PHP文档中,关于
session_unset()
函数没有任何提示表明该函数已被弃用,因此我认为使用它是没问题的。但当我阅读有关session_destroy()
函数的文档时,发现了以下提示:
注意:只有在旧代码中不使用$_SESSION时才使用session_unset()。
我知道session_unset()
函数相当于$_SESSION = array();
。那么现在我应该使用什么呢?为什么一个网站上会提示该函数已被弃用,而另一个网站上却没有相关提示?这个函数到底怎么样?
session_unset()
函数会清除$_SESSION
中存储的所有数据,而unset()
函数只会清除$_SESSION
中的一个数组条目。 - TiMESPLiNTERsession_unset()
只取消注册的会话变量,那么在PHP>5.4.0中它就没有用处了,因为session_register()
已被删除。如果不是这样,那么手册页面需要进行重写。 - IMSoPsession_register('foo', 'bar')
相当于$_SESSION['foo'] = 'bar';
,但是session_unset()
就像$_SESSION = array();
,所以它会取消所有会话数据,而session_register()
只是注册一个新的键值对。 - TiMESPLiNTER