Передать разделенные запятыми строковые значения в PHP - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть строка значений, разделенных запятыми, например, так:

$items = array();
foreach($_POST['check_list'] as $check) {
    $items[] = $check;
}
$options = implode(', ' , $items);


$ch = curl_init();
$data_json = json_encode(array(

"configuration"=> [
     "vehicleOptionIds"=> [$options]
],
"mileage"=> 85300,
));

Когда я вставляю через него действительные значения, это работает, но что-то не так, когда я передаю его с помощью переменной $ options.API действительно принимает строку вопреки моей первоначальной мысли.

1 Ответ

0 голосов
/ 16 апреля 2019

Если вам нужны целые числа, вы должны хранить их в массиве, а не преобразовывать их в строку.Вызовите intval() для преобразования строк в целые числа.

$items = array();
foreach($_POST['check_list'] as $check) {
    $items[] = intval($check);
}

Или проще:

$items = array_map('intval', $_POST['check_list']);

Затем передайте $items в API.

$data_json = json_encode(array(
    "configuration"=> [
         "vehicleOptionIds"=> $items
    ],
    "mileage"=> 85300,
));

Этот JSON будет содержать:

"vehiclOptionIds": [1, 2, 3, 4]

Когда вы работаете с JSON, не думайте об этом как о строках.Просто создайте структуру данных в требуемом макете, и json_encode() сделает соответствующее преобразование.

...