【发布时间】:2018-10-13 15:17:51
【问题描述】:
我有一个名为 bid_lvl_descs 的 MySQL 表,其中包含 bid_type、lvl、desc 列
Bid_type 和 lvl 一起总是唯一的,而 desc 将是唯一的,但在技术上可能不是唯一的。 示例数据:
+----------+-----+---------------------+
| bid_type | lvl | desc |
+----------+-----+---------------------+
| 9 | 1 | Blabla |
| 9 | 2 | bla ba bla |
| 9 | 3 | bla bla bla bla |
| 9 | 4 | Bllsllsabablalllll |
| 7 | 1 | bla |
| 7 | 2 | blabla |
| 7 | 3 | blablabla |
| 7 | 4 | Bbllaallssl |
+----------+-----+---------------------+
我想选择数据并将其保存在 PHP 数组中,以便在需要时通过简单的cached_arr[ bid_type ] [ lvl ] 轻松访问和缓存
array {
9 array {
1 => 'bla',
2 => 'blabla',
3 => 'blablabla',
4 => 'blablablabla'
}
7 array {
1=> ...
2=>
3=>
4=>...
}
//An so on
}
我试过PDOStatement::fetchAll(PDO::FETCH_GROUP),但它创建的数组格式比必要的稍微复杂一些。有什么建议吗?
代码:
<?php
echo var_dump($db->run('SELECT bid_type,lvl,desc FROM bid_lvl_descs')->fetchAll(PDO::FETCH_GROUP);
给出以下数组:
Array {
9 array {
0 array {
'lvl'=>1,
'desc'=>'bla'
}
}
7 array {
0 array {
desc => 'bla'
lvl=1
}
// ... And so on
}
}
【问题讨论】:
-
你能告诉我们你尝试的代码吗?
-
@Script47 当然。
-
@Script47 我添加了代码。
标签: php mysql pdo fetchall pdostatement