我正在尝试构造一个包含内部对象的json对象.
我正在尝试以下代码 - 其中$ids包含一些ID的数组:
$result = array();
foreach ($ids as $value) {
$tempArray = getCustomOptions($host, $dbUsername, $dbPassword, $dbName, $_SESSION['companyId'], $value);
array_push($result, $tempArray);
}
print_r(json_encode($result));
Run Code Online (Sandbox Code Playgroud)
在getCustomOptions()还使用以下脚本返回的数组:
$dataArray = [];
while ($stmt->fetch()) {
$dataArray[] = array(
'id' => $id,
'description' => $description
);
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我print_r(json_encode($result));得到以下结果时:
[
[
{
"id":21,
"description":"Bshd"
},
{
"id":22,
"description":"Gandhi "
},
{
"id":23,
"description":"aaaa"
},
{
"id":24,
"description":"bbbbb"
}
],
[
{
"id":12,
"description":"121"
},
{
"id":13,
"description":"qwe"
},
{
"id":16,
"description":"wD2"
},
{
"id":17,
"description":"we"
}
],
[
]
]
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它返回一个数组内的一些数组,但我真正需要的是以下结构:
{
"data1":[
{
"id":21,
"description":"Bshd"
},
{
"id":22,
"description":"Gandhi "
},
{
"id":23,
"description":"aaaa"
},
{
"id":24,
"description":"bbbbb"
}
],
"data2":[
{
"id":12,
"description":"121"
},
{
"id":13,
"description":"qwe"
},
{
"id":16,
"description":"wD2"
},
{
"id":17,
"description":"we"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我知道我在这里缺少一些非常小而基本的东西,但对我来说,php中的JSON操作仍然很难.
有人能给我一个线索或推动吗?
您可以尝试使用以下代码以适当的格式生成阵列.
$result = array();
$i=1;
foreach ($ids as $value) {
$tempArray = getCustomOptions($host, $dbUsername, $dbPassword, $dbName, $_SESSION['companyId'], $value);
$result['data'.$i] = $tempArray;
$i++;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |