В массив вставляется пустой элемент

281
26 августа 2017, 01:45

Привет. Отправляю с клиента данные на обработку к PHP:

let data = `{\
    "id": "${id}",\
    "search_data": {\
        "props": "${proposals}",\
        "airports": "${airports}",\
        "airlines": "${airlines}",\
        "gates": "${gates_info}"\
    }\
}`;

Первый запрос отправляет пустой json-массив ""(когда с сервера на клиент придут данные, то эти данные опять отправятся на сервер и уже не будут там пустой строкой). Соответственно, когда я буду пытаться сравнить два массива, то первый пустой будет string, а не array. Для этого я инициировал переменную, как массив и записал в него пустой массив.

$global_proposals = [];
$global_proposals = explode(' ', $exsisting_data['props']); // где $exsisting_data['props'] является "props": "${proposals}" на клиенте

Казалось бы, что в этом и есть проблема, но нет. Если сделать просто $global_proposals = explode(' ', $exsisting_data['props']);, то ничего не изменится и пустая строка всё равно останется. Из-за этого на выходе я получаю вот такое вот начало массива(после json_encode()):

{
  "proposals": [
    "", //this
    {

Как мне избавиться от этого?

READ ALSO
Не работает curl на php (win)

Не работает curl на php (win)

Потерял собственный php pack с настроенными всеми либами для написание скриптов (речь о win version)

194
Apache не отображает ошибки в браузере

Apache не отображает ошибки в браузере

Установил LAMPЕсли кто не знает - Linux + Apache + MySQL + PHP

231