将数组编码为没有数组索引的JSON字符串

时间:2014-12-01 16:31:29

标签: php arrays json

我从Javascript向数据库发送JSON字符串,语法如下:

["Product1","Product2","Product3"]

之前我只是将这些数据放在我的数据库中,而不是在php中解码它,并且在retreival之后再次使用它时它没有问题。

但是现在我需要对字符串中的数据进行一些更改,所以我在PHP中对其进行解码,这将产生如下数组:

print_r(json_decode($_POST["myjsonstring"]));
//outputs
//Array
//(
//    [0] => Product1
//    [2] => Product2
//    [3] => Product3
//)

我的问题是,当我将此数组编码回JSON时,字符串的格式如下:

{"0":"Product1","2":"Product2","3":"Product3"}

我需要编码的字符串与我的javascript创建的相同,所以没有数组索引。有一个简单的方法吗?

1 个答案:

答案 0 :(得分:21)

你想要PHP的array_values()功能:

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