【发布时间】:2018-07-06 19:30:55
【问题描述】:
我正在使用 PHP 和 PDO 进行这样的基本 SELECT:
SELECT user_id, account, value FROM accounts;
我得到这样的东西:
+---------+---------+-------+
| USER ID | ACCOUNT | VALUE |
+---------+---------+-------+
| 12 | abc | 12.00 |
| 12 | def | 98.00 |
| 21 | ghi | 25.00 |
| 32 | qwe | 32.00 |
+---------+---------+-------+
我希望它以这种格式保存到数组/对象中:
[12] => Array
(
[abc] => "12.00"
[def] => "98.00"
)
[21] => Array
(
[ghi] => "25.00"
)
[32] => Array
(
[qwe] => "32.00"
)
这样我以后可以做这样的事情:
$myArray['12']['def'] // "98.00"
我试图想出最有效的方法来处理这个问题。我将有可能拥有 100 或 1000 名用户,每个用户将拥有大约 5-10 个帐户。
我尝试使用fetchAll(PDO::FETCH_GROUP|PDO::FETCH_KEY_PAIR),但这是不允许的。虽然手册上说它们经常一起使用?
欢迎提出任何建议!
【问题讨论】:
-
stackoverflow.com/questions/16846531/…。我会使用它,然后在您想要的设置中构建一个新数组
-
我想你想要
PDO::FETCH_COLUMN|PDO::FETCH_GROUP -
@AbraCadaver - 这没有提供预期的结果。
-
@Bleach - 我希望有更多与 PDO 相关的解决方案。
-
链接问题中的答案引用了 PDO::FETCH_ASSOC。这就是我在这里使用的。然后使用该数组构建您的新数组。