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中文网其他相关文章!