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

2022-08-30 23:04:45

我从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创建的相同,所以没有数组索引。有没有一种简单的方法来做到这一点?


答案 1

你想要 PHP 的 array_values() 函数:

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

答案 2