多级Json阵列

时间:2014-09-05 14:20:37

标签: javascript php json

我正在尝试用PHP构建一个多级JSON数组,我不知道它是否可行。它看起来像这样:

{0:Name [ {name:name, id:id, type:type}, {name:name, id:id, type:type} ], 2:Name [ {name:name, id:id, type:type}, {name:name, id:id, type:type} ]}

我遇到阵列逻辑问题。

$resultArray = array();
$id = $row['id'];
$resultArray[$id] = $row['name'];

我现在如何将对象数组关联到同一个Id,而不使用" ="因为它当然会取代名字?

$resultArray[$id] = arrayofobjects

我一直以

结束

JSON

0:Array
[0: Object
 1: Object...

这几乎没问题。我只是希望它看起来像

0:Name
[0: Object
 1: Object...

这可能吗?

1 个答案:

答案 0 :(得分:0)

这是问题所在:

$id = $row['id'];
$resultArray[$id] = $row['name'];

你在这里使用的数组键/名称是$id的值,它可能是一个数组而不是字符串(键),所以当PHP将数组转换为JSON时它只是执行默认操作并将其称为Array,因为它是一个数组。

如果你想要一个多维数组,可以这样做:

$resultArray['id']['name']

或者,如果您发现$row['id']确实正在返回数组而不是字符串,那么您可能需要执行以下操作:

$id = $row['id'][0];
$resultArray[$id] = $row['name'];