如何在升级到PHP 5.3后用$ SESSION []替换session_unregister来避免弃用警告?

Edw*_*uay 3 php installation session deprecated

我刚刚安装了PHP 5.3并且正在淘汰随之而来的" 弃用 "警告.

它说session_unregister() is deprecated:

session_unregister($serverWideUniqueIdCode);
Run Code Online (Sandbox Code Playgroud)

并且替换似乎是$ _SESSION [].

那么$_SESSION[]表达相同的东西的语法是什么呢?

Pas*_*TIN 12

引用文档 (看看那个页面,它说的很有趣;-)):

session_unregister()从当前会话中注销名为name的全局变量.

要从数组中删除条目,您可以使用unset.所以,而不是

session_unregister('my_var');
Run Code Online (Sandbox Code Playgroud)

您可以使用

unset($_SESSION['my_var']);
Run Code Online (Sandbox Code Playgroud)

在你的情况下,我猜,这意味着:

unset($_SESSION[$serverWideUniqueIdCode]);
Run Code Online (Sandbox Code Playgroud)


不过,你可能不想调用unset整个$_SESSION变量.第二次引用文档:

注意:如果使用$_SESSION(或者 $HTTP_SESSION_VARS 对于PHP 4.0.6或更低版本),请使用unset()取消注册会话变量.不要 unset() $_SESSION自己这样做会禁用$_SESSION超全局的特殊功能 .