【发布时间】:2018-05-24 17:53:25
【问题描述】:
有没有办法在多维数组中按 ID 对“键值存储数据”进行分组?
SQL 表:
Table 1: App
ID | Name | Release
1 | TinyWings | 2014
2 | WarCraft | 2012
3 | StarCraft | 1998
Table 2: AppInfo
ID | Key | Value
1 | Genre | Casual
1 | Rating | 0+
1 | System | iOS
...
2 | Genre | RTS
2 | Rating | 6+
2 | System | Win
...
3 | Genre | RTS
3 | Rating | 12+
3 | System | Win
...
对于我使用的应用程序的profil php页面
$app = $statement->fetchAll(PDO::FETCH_KEY_PAIR);
但是在 index.php 页面上,我需要一个类似这样的数组来进行分页:
Array (
[0]=> Array (
[Genre]=>[Casual]
[Rating]=>[0+]
[System]=>[iOS]
...)
[1]=> Array (
[Genre]=>[RTS]
[Rating]=>[6+]
[System]=>[Win]
...)
[2]=> Array (
[Genre]=>[RTS]
[Rating]=>[12+]
[System]=>[Win]
...)
)
我发现的唯一方法是使用
MAX(CASE WHEN ... THEN .. END) AS ...
对于准备语句中的 EVERY KEY 将行写入列,有没有办法将它与 PDO::FETCH_KEY_PAIR 或更好更简单的方法一起使用?
【问题讨论】:
标签: php mysql arrays multidimensional-array pdo