Я отправляю строку JSON в базу данных из Javascript со следующим синтаксисом:
["Product1","Product2","Product3"]
Прежде чем я просто поместил эти данные в свою базу данных, не расшифровывая их в php, и он работал без проблем при повторном использовании этого файла после повторной обработки.
Однако теперь мне нужно внести несколько изменений в данные в строке, поэтому я их расшифрую в PHP, что приведет к массиву:
print_r(json_decode($_POST["myjsonstring"])); //outputs //Array //( // [0] => Product1 // [2] => Product2 // [3] => Product3 //)
Моя проблема заключается в том, что когда я кодирую этот массив обратно в JSON, формат строки будет следующим:
{"0":"Product1","2":"Product2","3":"Product3"}
Мне нужно, чтобы закодированная строка была такой же, как и мой javascript, поэтому без индексов массива. Есть простой способ сделать это?
Вам нужна array_values()
PHP:
$json_out = json_encode(array_values($your_array_here));