一尘不染

将数组编码为不带数组索引的JSON字符串

json

我正在使用以下语法从Javascript向数据库发送JSON字符串:

["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创建的字符串相同,因此没有数组索引。是否有捷径可寻?


阅读 258

收藏
2020-07-27

共1个答案

一尘不染

您需要PHP的array_values()功能:

$json_out = json_encode(array_values($your_array_here));
2020-07-27