【问题标题】:double output for variable变量双输出
【发布时间】:2012-06-02 08:50:57
【问题描述】:

我有这个下一个功能:

function checkLoggedIn($status, $redirect=TRUE){
    switch($status){
        case "yes":
            if(!isset($_SESSION["loggedIn"])){
                if($redirect) {
                    header("Location: login.php");
                    exit;
                } else {
                    $authenticated = false;
                }
            } else {
                checkLoggedIn("no");
            }
        break;

        case "no":
            if(isset($_SESSION["loggedIn"]) && $_SESSION["loggedIn"] === true ){
                $authenticated = true;
            }
        break;
    }
    var_dump($authenticated);
    return $authenticated;
}

奇怪的是,当我启用var_dump($authenticated); 时,如果true,我得到输出:

bool(true)
NULL

只是

bool(false)

如果false

有什么想法吗?

【问题讨论】:

    标签: php dump var-dump


    【解决方案1】:

    那是因为你在内部调用checkLoggedIn()

    【讨论】:

    • 哦,我明白了.. 那么,有什么办法可以避免双重响应吗?
    • 我会说将case "no"代码直接放在else语句中,而不是再次调用该函数。
    • bufff,几乎不可能,因为它的实现方式(不是我)。最终我会找到解决方案的!谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多