【发布时间】:2015-01-29 17:17:41
【问题描述】:
我从 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 创建的字符串相同,因此没有数组索引。有没有简单的方法可以做到这一点?
【问题讨论】:
-
为什么数组中缺少索引?我认为您没有显示所有涉及该数组的代码。如果您没有一组连续的数字索引值,则 json_encode 过程会将其视为关联数组并编码为对象表示法而不是数组表示法。