PHP JSON编码方括号

时间:2016-03-11 17:11:43

标签: php json encode square-bracket

我有一个简单的JSON数组,我正在尝试编码。在JSON字符串内部,我需要方括号中的另一个数组。我无法弄清楚如何使内部括号方块。有什么建议吗?

这是我的代码

$data = [ "item" =>  ["id" => "123456", "name" => "adam"]  ];                                                                    
$data_string = json_encode($data);

这是输出

{"item":{"id":"123456","name":"adam"}}

我希望得到什么

{"item":["1123","1134","1184"]}

2 个答案:

答案 0 :(得分:7)

在JSON []中是一个数组,{}是一个对象。

数组包含有序的值列表。

对象包含一组无序的键/值对。

如果你想要一个数组,那么你必须提供一个有序的值列表(PHP数组),而不是一组键/值对(PHP关联数组)。

$data = [ "item" =>  ["id", "123456", "name", "adam"]  ];
$data_string = json_encode($data);

给出

{"item":["id","123456","name","adam"]}

答案 1 :(得分:1)

我记得,JSON数组不能同时拥有键和值,就像javascript一样。如果你有带有键和值的php数组,它将被转换为Object for JSON,从php数组中删除键,你也将获得JSON数组。