首页 >后端开发 >php教程 >如何使用 PDO FetchAll 高效地将键值对检索到关联数组中?

如何使用 PDO FetchAll 高效地将键值对检索到关联数组中?

Barbara Streisand
Barbara Streisand原创
2024-10-22 20:54:02202浏览

How to Efficiently Retrieve Key-Value Pairs into an Associative Array with PDO FetchAll?

PDO FetchAll:将键值对分组为关联数组

在返回键值对的数据库查询中,通常很方便以关联数组的形式检索数据,并将值映射到各自的键。虽然有一些常见的方法可以实现此目的,例如使用 fetchAll(PDO::FETCH_ASSOC) 然后手动迭代来创建数组,但这种方法可能很麻烦。

专门为此目的设计的替代解决方案,是使用 fetchAll(PDO::FETCH_KEY_PAIR) 选项。此方法会自动创建一个包含查询结果的关联数组,将第一列映射到键,将第二列映射到值。

为了演示这一点,请考虑一个从设置表中检索名称和值列的查询:

$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r  = $q->fetchAll(PDO::FETCH_KEY_PAIR);

在这种情况下,如果数据库包含 ('first_name', 'Tom') 和 ('last_name', 'Jeferson') 等行,则生成的 $r 数组将为:

Array(
    'first_name' => 'Tom',
    'last_name'  => 'Jeferson'
)

此方法提供了一种简单有效的方法来将键值对检索到关联数组中,从而无需手动创建数组。现代 PHP 版本和一些流行的数据库(如 PostgreSQL)都支持它。

以上是如何使用 PDO FetchAll 高效地将键值对检索到关联数组中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn