问题:
检索键值对时从数据库中,我们如何获取一个关联数组,其中的值按键分组PDO 的 fetchAll 方法?
例如,给定查询:
SELECT `key`, `value` FROM `settings`;
我们想要创建一个如下数组:
array('first_name' => 'Tom', 'last_name' => 'Jefferson')
答案:
PDO 提供了一个简单高效的解决方案this:
$q = $db->query("SELECT `key`, `value` FROM `settings`;"); $r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
此方法:
此方法针对此特定用例进行了优化,因为它使用单个查询检索数据并直接将其存储到所需的关联数组格式。
对于在 Windows 7 x64 上运行的 PostgreSQL 9.1 和 PHP 5.3.8,此解决方案已经验证可以有效工作。
以上是PDO 的 fetchAll 方法如何根据从数据库检索的键值对创建关联数组?的详细内容。更多信息请关注PHP中文网其他相关文章!