Подтвердить что ты не робот

Кодировать массив в строку JSON без индексов массива

Я отправляю строку 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, поэтому без индексов массива. Есть ли простой способ сделать это?

4b9b3361

Ответ 1

Вы хотите, чтобы PHP array_values():

$json_out = json_encode(array_values($your_array_here));