Разбор ошибок при публикации данных с помощью cURL в PHP - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь POST данных в API, используя PHP и cURL, вот так:

$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

1 Ответ

1 голос
/ 09 апреля 2019

Вы (неправильно) используете нотацию объекта JavaScript вместо нотации массива PHP внутри вашего 'configuration' ключа массива, чтобы исправить это, просто измените ваш массив $data на следующее:

$data = array(
    "configuration"=> [
         "vehicleId"=> 382245,
         "vehicleOptionIds"=> [5154080]
    ],
    "mileage"=> 100000,
    "zipCode"=> "02101",
    "valuationDate"=> "2019-04-08T23:59:21.803Z"
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...