为什么curl将null后置参数转换为空字符串?

时间:2017-11-27 05:47:23

标签: php curl

在向另一个脚本发送curl帖子时,有时我可能希望发送null作为某些键的值:

$postdata = array(
        'userID'        => 0,
        'questionText'  => "Can you answer this question?",
        'time'          => null);

$req = curl_init($url);
curl_setopt($req, CURLOPT_POST, true);
curl_setopt($req, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($req, CURLOPT_RETURNTRANSFER, false);
curl_setopt($req, CURLOPT_VERBOSE, true); 
$data = curl_exec($req);
curl_close();

然而,数据似乎在收到时已经改变。在$ _POST上执行vardump显示'time'值现在是一个空字符串:

array(3) {
    ["userID"]=>
    string(1) "0"
    ["questionText"]=>
    string(29) "Can you answer this question?"
    ["time"]=>
    string(0) ""
}

这里发生了什么?为什么一切都是字符串?我怎样才能坚持打字?

1 个答案:

答案 0 :(得分:1)

作为对原始问题状态的评论,HTTP请求只会提供字符串。