Объект содержащий массив

135
17 октября 2019, 22:00

Вот есть рабочий код

$params = array(
    'user'  => $JDE_user,
    'token' => $JDE_token
);
$date_begin = new DateTime($GET['date_begin']);
$date_end = new DateTime($GET['date_end']);
$post_data = array(
    'states'     => ["Delivered"],
    'date_begin' => $date_begin->format("d.m.Y 00:00:00"),
    'date_end'   => $date_end->format("d.m.Y 23:59:59")
);
$cURL = "https://api.jde.ru/vD/orders?".http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $cURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
$JDE = curl_exec($ch);
$JDE = json_decode($JDE, true);
curl_close($ch);

мне нужно через форму изменять 'states' соответственно я получаю из формы массив

[status] => Array
        (
            [0] => NewOrderByClient
            [1] => NotDone
            [2] => OnTerminalPickup
            [3] => OnRoad
            [4] => Delivering
            [5] => Delivered
        )

и делаю вот так

$i=0; $states = "[";
foreach ($GET['status'] as $key => $value){
  if($i > 0){ $states .= ","; }
  $states .= '"'.$value.'"'; $i++; }
$states .= "]";  
$post_data = array(
    'states'     => $states,
    'date_begin' => $date_begin->format("d.m.Y 00:00:00"),
    'date_end'   => $date_end->format("d.m.Y 23:59:59")
);

на выходи от api получаю ошибку... что я делаю не так? Спасибо!

ссылка на мануал api

Answer 1

Нашёл такой ответ:

$post_data = array(
    'states'     => array_values($_GET['status']),
    'date_begin' => $date_begin->format("d.m.Y 00:00:00"),
    'date_end'   => $date_end->format("d.m.Y 23:59:59")
);
READ ALSO
Как задать динамическое имя php

Как задать динамическое имя php

Делаю что-то типа двойного цикла и нужно сделать динамическое название переменнойХочу получить что-то типа $v++[], но переменную для массива...

188
Что за ошибка при отправке данных в бд [дубликат]

Что за ошибка при отправке данных в бд [дубликат]

На данный вопрос уже ответили:

162
Переключение точек сбыта

Переключение точек сбыта

Экспериментирую с созданием сайта-магазина на laravel 57

136
Не могу зайти в PHPMYADMIN Docker-compose

Не могу зайти в PHPMYADMIN Docker-compose

При переходе на localhost:8080, на страничку PHPMyadmin появляется 3 поля, сервер, логин, парольЯ записываю так:

150