我正在尝试用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...
这可能吗?
答案 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'];