json_encode(array(
array(0 => "431.940054495913"),
array(1 => "431.940054495913"),
));
呈现如下:
[
["431.940054495913"],
{"1":"431.940054495913"}
]
为什么两个数组呈现不同?
任何可以呈现为JSON数组的PHP数组将呈现为JSON数组;任何只有从0开始的顺序数字键的PHP数组将呈现为JSON数组。
第一个数组是这样的:array(0 => "431.940054495913")
.
如何修复
-
JSON_FORCE_OBJECT
标志将把所有PHP数组呈现为JSON对象json_encode(array(0 => "431.940054495913"), JSON_FORCE_OBJECT); // {"0": "431.940054495913"} json_encode(array(0 => "431.940054495913")); // ["431.940054495913"]
-
或者,您可以将PHP数组转换为PHP对象:
json_encode( (object) array(0 => "431.940054495913")); // {"0": "431.940054495913"}
(如果你不想把每个数组都渲染为对象,或者如果你没有JSON_FORCE_OBJECT)