[英]Create an multidimensional array from the returned datas from a SQL query
我有一个从数据库中获取数据的查询:
$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']
]
];
}
希望对你有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.