我有一个从数据库中获取数据的查询:
$query = $pdo->prepare('SELECT AVA_Id, AVA_RoomId, AVA_Date, AVA_Status FROM ___Table');
$query->execute();
我正在使用它将所有数据放入一个数组:
while ($fetch = $query->fetch(PDO::FETCH_ASSOC)) {
$array[] = [
'AVA_Id' => $fetch['AVA_Id'],
'AVA_RoomId' => $fetch['AVA_RoomId'],
'AVA_Date' => $fetch['AVA_Date'],
'AVA_Status' => $fetch['AVA_Status']
];
}
女巫给我以下数组:
Array
(
[0] => Array
(
[AVA_Id] => 1
[AVA_RoomId] => 47
[AVA_Date] => 2019-02-24
[AVA_Status] => Open
)
[1] => Array
(
[AVA_Id] => 2
[AVA_RoomId] => 48
[AVA_Date] => 2019-02-26
[AVA_Status] => Open
)
)
但是如何将结果返回到更复杂的数组中,如下所示:
Array
(
[47] => Array
(
[2019-02-24] => Array
(
[AVA_Id] => 1
[AVA_Status] => Open
)
)
[48] => Array
(
[2019-02-26] => Array
(
[AVA_Id] => 2
[AVA_Status] => Open
)
)
)
你可以这样做:
while ($fetch = $query->fetch(PDO::FETCH_ASSOC)) {
$array[$fetch['AVA_RoomId']][$fetch['AVA_Date']][] = [
'AVA_Id' => $fetch['AVA_Id'],
'AVA_Status' => $fetch['AVA_Status']
];
}
使用以下代码:
while ($fetch = $query->fetch(PDO::FETCH_ASSOC)) {
$array[$fetch['AVA_RoomId']] = [
$fetch['AVA_Date'] => [
'AVA_Id' => $fetch['AVA_Id'],
'AVA_Status' => $fetch['AVA_Status']
]
];
}
希望它能帮到你。