会话取消设置每个变量?

问题描述:

我只想取消设置play_mode,但第二行也会取消landing_site。会话取消设置每个变量?

这是怎么发生的?

session_start(); 

session_unset($_SESSION['play_mode']); 

echo $_SESSION['landing_site']; 
+0

如果我改变了一个简单的ECHO,我得到第三行:“”如果我删除第二行,我得到“www.example.com” ... – lisovaccaro

因为,按照the documentation

The session_unset() function frees all session variables currently registered. 

此外,session_unset()不需要参数。

如果您只想取消设置$_SESSION['play_mode'],则只需执行unset($_SESSION['play_mode'])即可。

你想取消设置()单个VAR而不是session_unset()整个会话

session_unset
The session_unset() function frees all session variables currently registered.
试试这个:

unset($_SESSION['play_mode']); 

[编辑]
这个问题需要更多的人们连接手册!

从php.net

void session_unset (void) 
The session_unset() function frees all session variables currently registered. 

如果你想取消设置只是一个变量,然后只使用未设置。

unset($_SESSION['play_mode']);