嗨,我有一个具有以下结构的表
+-------------+------+
| date | price|
+-------------+------+
| 2014-02-19 | 34 |
| 2014-02-20 | 30 |
| 2014-02-21 | 28 |
+-------------+------+
Run Code Online (Sandbox Code Playgroud)
目前PDO :: FETCH_ASSOC返回一个像这样格式的关联数组
array(
0=> array(
"date" => 2014-02-19 ,
"price" => 34
),
1=> array(
"date" => 2014-02-20 ,
"price" => 30
),
2=> array(
"date" => 2014-02-21 ,
"price"=> 28
)
)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这是好的,但我正在寻找一种方法来返回值为key =>值对,键是日期,价值是价格.这样我就可以使用日期作为键快速访问价格值,从而大量减少计算量,因为我必须处理数百万行,并且在循环中访问每个值只会导致程序进一步减速.
所以我正在寻找PDO :: fetchALL()来返回
array(
"2014-02-19" => 34,
"2014-02-20" => 30,
"2014-02-21" => 28
)
Run Code Online (Sandbox Code Playgroud)
我的意思是我可以使用foreach循环轻松构建它,但在我的情况下它不可能,因为它会导致巨大的性能下降.因此,如果任何人能指出我正确的方向,那将是非常有帮助的.我会感谢任何帮助或提示.
谢谢,Maxx
小智 6
我认为可以使用fetch选项完成.
$sth = $dbh->prepare("SELECT date, price FROM some_table");
$sth->execute();
$sth->fetchAll(PDO::FETCH_KEY_PAIR|PDO::FETCH_GROUP);
Run Code Online (Sandbox Code Playgroud)
它仅在获取的数据是一对值时才有效.
| 归档时间: |
|
| 查看次数: |
4195 次 |
| 最近记录: |