我正在尝试使用PHP生成一个JSON响应,如下所示:
Records={{"country":"United States","fixed":0.20,"cellular":0.35}, {"country":"Canada","fixed":0.30,"cellular":0.45}}
但是当我运行代码时,这就是我得到的:
Records={"0": {"country":"United States","fixed":0.20,"cellular":0.35}, "1":{"country":"Canada","fixed":0.30,"cellular":0.45}}
这是我的PHP代码:
$arr_o = array();
array_push($arr_o, array("country" => "United States", "fixed" => 0.20, "cellular" => 0.35));
array_push($arr_o, array("country" => "Canada", "fixed" => 0.30, "cellular" => 0.45));
return json_encode((object)$arr_o);
答案 0 :(得分:0)
array_push方法将第二个参数(填充的“JSON”数组)添加到现有的空数组中作为该数组的元素。
例如:
$a = array();
array_push($a, 1);
print_r($a)
收率:
Array
(
[0] => 1
)
如果您的参数本身是一个数组,那么它将作为元素附加:
$b = array();
array_push($b, 1);
array_push($b, array(2, 3));
print_r($b);
收率:
Array
(
[0] => 1
[1] => Array
(
[0] => 2
[1] => 3
)
)
如果要将一个数组的元素附加到现有数组的末尾,则一种解决方案是使用array_merge方法,例如:
$c = array(1);
$c = array_merge($c, array((2, 3, 4));
print_r($c);
收率:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
在以下PHP文档中查看有关array_merge的更多信息:http://php.net/manual/en/function.array-merge.php
正如其他人已经注意到的那样,“{}”也应该转换为“[]”,以使输出成为有效的JSON。