我正在研究一本书,它创建了这个函数来破坏会话:
function destroy_session_and_data()
{
session_start();
$_SESSION = array();
if (session_id() != "" || isset($_COOKIE[session_name()]))
setcookie(session_name(), '', time() - 2592000, '/');
session_destroy();
}
我想知道条件语句是否过长?
难道不能改写成如下:
if (session_id() != "" || isset(session_name()))
也就是说, session_name() 是否返回值 'PHPSESSID' 而无需对 $_COOKIE 数组的特定引用?
更进一步,条件是否可以不只是这样写:
if (session_id() != "")
看到 session_id() 返回 $_COOKIE 数组中键 [PHPSESSID] 的值,如果它不为空,那么肯定会设置返回键 [PHPSESSID] 的 session_name(),因为它们在 $_COOKIE 数组中作为名称/值对一起存在?
为任何帮助干杯!