2009-08-08 70 views
3

我刚刚安装了PHP 5.3,并正在清除后续的“已弃用”警告。

它说session_unregister() is deprecated在:

session_unregister($serverWideUniqueIdCode); 

和更换似乎是$ _SESSION []。

那么与$_SESSION[]表达同样的事情的语法是什么?

回答

12

报价the doc(看看那个页面,它说,颇有些有趣的东西;-))

session_unregister()注销从 当前会话命名的名称 全局变量。

要从阵列中删除条目,可以使用unset。所以,与其

session_unregister('my_var'); 

您可以使用

unset($_SESSION['my_var']); 

哪,你的情况,我想,是指:

unset($_SESSION[$serverWideUniqueIdCode]); 


不过,你可能不希望整体$_SESSION变量请致电unset。引用该文档的第二时间:

注意:如果$_SESSION(或 $HTTP_SESSION_VARS为PHP 4.0.6或更少 )时,使用unset()到 注销会话变量。不要 unset()$_SESSION本身,因为这将 禁用 $_SESSION超全局的特殊功能。

2

$ _SESSION = array();

+0

我很好奇,如果这会产生与'unset($ _ SESSION)'相同的效果。即。禁用会话的特殊功能。 – MitMaro 2009-08-09 01:44:06