Привет. Отправляю с клиента данные на обработку к 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
{
Как мне избавиться от этого?
Потерял собственный php pack с настроенными всеми либами для написание скриптов (речь о win version)
Установил LAMPЕсли кто не знает - Linux + Apache + MySQL + PHP