【发布时间】:2020-04-20 09:12:06
【问题描述】:
我有 2 个关联数组,由以下 JSON 格式的 2 个查询产生:
{
"competence": [
{
"id": "21",
"title": "blabla",
"description": "blabla",
"image": "blabla"
},
{
"id": "11",
"title": "blabla",
"description": "blabla",
"image": "blabla"
},
{
"id": "26",
"title": "blabla",
"description": "blabla",
"image": "blabla"
}
],
"schedule": [
{
"id": "34",
"parent_id": "21",
"title": "blabla",
"description": "blabla",
"image": "blabla"
},
{
"id": "33",
"parent_id": "21",
"title": "blabla",
"description": "blabla",
"image": "blabla"
},
{
"id": "32",
"parent_id": "11",
"title": "blabla",
"description": "blabla",
"image": "blabla"
},
{
"id": "31",
"parent_id": "26",
"title": "blabla",
"description": "blabla",
"image": "blabla"
}
]
}
上面这2个数组是由这段代码生成的:
<?php
$queryCompetence = mysqli_query($con, "SELECT `id`, `title`, `description`, `image` FROM `competence` ORDER BY `title` ASC");
$querySchedule = mysqli_query($con, "SELECT `id`, `id_competence`, `title`, `description`, `image` FROM `schedule` ORDER BY `created_date` DESC");
$competence = array();
$schedule = array();
while ($row = mysqli_fetch_assoc($queryCompetence)) {
$competence[] = array(
'id' => $row['id'],
'title' => $row['title'],
'description' => $row['description'],
'image' => $row['image'],
);
}
while ($row = mysqli_fetch_assoc($querySchedule)) {
$schedule[] = array(
'id' => $row['id'],
'parent_id' => $row['id_competence'],
'title' => $row['title'],
'description' => $row['description'],
'image' => $row['image'],
);
}
$response['competence'] = $competence;
$response['schedule'] = $schedule;
echo json_encode($response);
die();
?>
我需要在 php 中创建一个多维数组,它将输出下面的 JSON:
{
"competence": [
{
"id": "21",
"title": "blabla",
"description": "blabla",
"image": "blabla",
"schedule": [
{
"id": "34",
"parent_id": "21",
"title": "blabla",
"description": "blabla",
"image": "blabla"
},
{
"id": "33",
"parent_id": "21",
"title": "blabla",
"description": "blabla",
"image": "blabla"
}
]
},
{
"id": "11",
"title": "blabla",
"description": "blabla",
"image": "blabla",
"schedule": [
{
"id": "32",
"parent_id": "11",
"title": "blabla",
"description": "blabla",
"image": "blabla"
},
{
"id": "33",
"parent_id": "21",
"title": "blabla",
"description": "blabla",
"image": "blabla"
}
]
},
{
"id": "26",
"title": "blabla",
"description": "blabla",
"image": "blabla",
"schedule": [
{
"id": "31",
"parent_id": "26",
"title": "blabla",
"description": "blabla",
"image": "blabla"
}
]
}
]
}
我如何实现这一目标?我一直在网上搜索,但似乎没有运气。 任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
有什么理由不想使用
JSON_ARRAYAGG和JSON_OBJECT?
标签: php mysql json multidimensional-array