PHP返回类型与我期望的

时间:2015-06-12 13:54:25

标签: php curl boolean

我正在使用curl发送数据然后作为响应我给出了一些值。如果满足则响应应为true,如果不满,则返回字符串错误消息。

我的代码如下,

if(curl_exec($ch) === true){
        return true;
}else{
        return curl_exec($ch);
}

在我的回复文件中,我写了这个,

if($_POST['license']=='123456'){
        echo 'License already in use';
}else{
        echo true;
}

我认为echo true是相同的,第一个条件curl_exec($ch)===true)应该满足。我无法理解我哪里出错了。请以正确的方式开车送我。

修改

我使用var_dump转储它,并显示string类型insead boolean - > string '' (length=0)

我的卷曲代码是

    $site = array('license' => $this->key, 'domain' => $this->domain, 'server' => $_SERVER['HTTP_HOST']);


    curl_setopt($ch, CURLOPT_URL, EXTENSION_VERIFY_URL);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $site);

    if(curl_exec($ch) === true){
        return true;
    }else{
        return curl_exec($ch);
    }

1 个答案:

答案 0 :(得分:0)

两次调用curl_exec()可能是失败的。相反,您应该将返回值存储在变量(例如$result = curl_exec())中,并使用它来测试。

除此之外,请尝试echo类似t而不是true f:License already in use而不是字符串。这样,如果一切正常,你总会返回一个字符串。