Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多级Json数组_Javascript_Php_Json - Fatal编程技术网

Javascript 多级Json数组

Javascript 多级Json数组,javascript,php,json,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['id']['name'] $id = $row['id'][0]; $resultArra

我正在尝试用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['id']['name']
$id = $row['id'][0];
$resultArray[$id] = $row['name'];
阵列逻辑有问题

$resultArray = array();
$id = $row['id'];
$resultArray[$id] = $row['name'];
我现在如何将对象数组与同一Id关联,而不使用“=”,因为它当然会替换名称

$resultArray[$id] = arrayofobjects
我总是以失败告终

JSON

这几乎是好的。我只是想让它看起来像

0:Name
[0: Object
 1: Object...
这可能吗?

这就是问题所在:

$id = $row['id'];
$resultArray[$id] = $row['name'];
这里使用的数组键/名称是
$id
的值,它可能是一个数组而不是字符串(键),因此当PHP将数组转换为JSON时,它只执行默认操作并调用它
array
,因为它是一个数组

如果需要多维数组,请执行以下操作:

{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['id']['name']
$id = $row['id'][0];
$resultArray[$id] = $row['name'];
或者,如果您发现
$row['id']
确实返回了一个数组而不是字符串,那么您可能需要执行以下操作:

{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['id']['name']
$id = $row['id'][0];
$resultArray[$id] = $row['name'];

请粘贴完整的代码。该示例不是有效的JSON。如何使用
名称
而不是
数组
Name
不是字符串吗?请注意,在JavaScript(当然还有JSON)中,数组只有数字键。