PHP-将多个数组添加到一个嵌套数组中的最佳实践?
如果有使用不同术语的答案,请道歉;我一直在四处寻找,但找不到这个问题的答案 我试图将SQL查询的结果作为嵌套数组添加到另一个数组中。父数组如下所示:PHP-将多个数组添加到一个嵌套数组中的最佳实践?,php,arrays,Php,Arrays,如果有使用不同术语的答案,请道歉;我一直在四处寻找,但找不到这个问题的答案 我试图将SQL查询的结果作为嵌套数组添加到另一个数组中。父数组如下所示: $room=[ "id" => $roomID, "name" => $roomName, "desc" => $roomDesc, "tracks" => [ //SQL Results here! tr
$room=[
"id" => $roomID,
"name" => $roomName,
"desc" => $roomDesc,
"tracks" => [
//SQL Results here!
track {
//Track ID,
//Track Name,
//Track Artist,
//Track URL,
},
track {
//Track ID,
//Track Name,
//Track Artist,
//Track URL,
},
]
];
但是,我不知道如何将曲目子数组添加到此数组中。目前,我正在创建一个如下所示的阵列:
$rows = array();
//SQL Call logic here
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$row_array['id'] = $row['id'];
$row_array['track_name'] = $row['track_name'];
$row_array['track_artist'] = $row['track_artist'];
$row_array['track_url'] = $row['track_url'];
array_push($rows,$row_array);
}
print_r(json_encode($rows));
} else {
echo "Error: Tracks not found";
return;
$conn->close();
die();
}
我希望将每个SQL结果作为
$room
中“tracks”数组中的一个“track”对象,我只是不知道如何 您可以直接将数据添加到循环内的$room['tracks']
:
while($row = $result->fetch_assoc()) {
$row_array['id'] = $row['id'];
$row_array['track_name'] = $row['track_name'];
$row_array['track_artist'] = $row['track_artist'];
$row_array['track_url'] = $row['track_url'];
$room['tracks'][] = $row_array ;
}
print_r(json_encode($room));
或者,如果$row
仅包含要添加的键,则可以执行以下操作:
while($row = $result->fetch_assoc()) {
$room['tracks'][] = $row ;
}
print_r(json_encode($room));
$room['tracks'][]=$row\u数组可能重复代码>