Php 太早出发

Php 太早出发,php,session-variables,unset,Php,Session Variables,Unset,我有以下代码 问题是,unset($_SESSION['variable'])不仅取消设置整个$\u会话,而且还停止运行own if语句,因为如果取消设置行被删除,则调用的echo或函数都不会执行任何操作,这两个语句都可以正常工作 if ( isset($_SESSION['variable']) ) { echo 'yay'; $boxes['error'] = $this->function($_SESSION['variable']); unset($_SES

我有以下代码

问题是,
unset($_SESSION['variable'])
不仅取消设置整个
$\u会话
,而且还停止运行own if语句,因为如果取消设置行被删除,则调用的echo或函数都不会执行任何操作,这两个语句都可以正常工作

if ( isset($_SESSION['variable']) ) {
    echo 'yay';
    $boxes['error'] = $this->function($_SESSION['variable']);
    unset($_SESSION['variable']);
}
我以前从未见过这种用法

if (!empty($_SESSION['variable']) ) {
    echo 'yay';
    $boxes['error'] = $this->function($_SESSION['variable']);
    $_SESSION['variable'] = '';
}

Unset基本上完成变量。您应该做的只是删除该值。然后检查变量是否为空。我发现这是因为我没有添加
exit()行到另一页上的
标题('location:')
调用,因此会话已被取消设置。所以这个if语句很好用now@milky_jay:谢谢你的评论。它帮助我解决了Wordpress中的一个问题,正如您所说,我的会话过早取消,因为我没有添加
exit()
wp\u safe\u重定向之后
。也许这对某人也有帮助:)。