PDO 将所有组键值对放入关联数组
在处理返回键值对的查询时,通常需要检索结果作为关联数组。考虑以下查询:
SELECT `key`, `value` FROM `settings`;
目标是获取一个关联数组,其中键对应于键列,值对应于值列。
传统方法涉及获取使用 PDO::FETCH_ASSOC 的结果,然后使用循环手动创建关联数组:
$settings_flat = $db ->query("SELECT `name`, `value` FROM `settings`;") ->fetchAll(PDO::FETCH_ASSOC); $settings = array(); foreach ($settings_flat as $setting) { $settings[$setting['name']] = $setting['value']; }
但是,有一种更有效的方法可以使用 PDO::FETCH_KEY_PAIR:
$q = $db->query("SELECT `name`, `value` FROM `settings`;"); $r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
此方法直接返回一个关联数组,其中键对应于键列,值对应于值列。
这种方法不仅更加简洁,而且还避免了不必要的循环和数组创建。它是将键值对结果转换为关联数组的便捷高效的解决方案。
以上是如何从 PDO 查询中高效地获取键值对作为关联数组?的详细内容。更多信息请关注PHP中文网其他相关文章!