【问题标题】:Parse error posting data with cURL in PHP在 PHP 中使用 cURL 解析错误发布数据
【发布时间】:2019-04-09 00:31:59
【问题描述】:

我正在尝试使用 PHP 和 cURL 将 POST 数据发送到 API,如下所示:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.api.myAPIsite.com/values?api_key=MyAPIKey");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(
    "configuration"=> { 
         "vehicleId"=> 382245, 
         "vehicleOptionIds"=> [5154080] 
    }, 
    "mileage"=> 100000, 
    "zipCode"=> "02101", 
    "valuationDate"=> "2019-04-08T23:59:21.803Z" 
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch); 

但是,日志显示发生了解析错误。解决这个问题的正确语法是什么?

日志详情:

PHP Parse error:  syntax error, unexpected '{' in /home/78ds6f76f8fds6f/public_html/desktop/values.php on line 11

【问题讨论】:

  • 日志中是否有任何解析错误详细信息?
  • 我更新了问题以显示日志详细信息,在第 11 行说意外的“{”,即“配置”=> {

标签: php curl post


【解决方案1】:

您(错误地)在 'configuration' 数组键中使用 JavaScript 的对象表示法而不是 PHP 的数组表示法,要解决此问题,只需将您的 $data 数组更改为以下内容:

$data = array(
    "configuration"=> [
         "vehicleId"=> 382245,
         "vehicleOptionIds"=> [5154080]
    ],
    "mileage"=> 100000,
    "zipCode"=> "02101",
    "valuationDate"=> "2019-04-08T23:59:21.803Z"
);

【讨论】:

  • 仅供参考 ...您使用了 javascript 中的正确对象语法,但在 php 中不起作用;)
猜你喜欢
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 2013-06-09
  • 2016-12-10
  • 1970-01-01
  • 2018-03-29
相关资源
最近更新 更多