每一次,我遇到一个情况,当我有类似的类似的查询:
SELECT `key`, `value` FROM `settings`;
在这种情况下,我想获得一个关联数组,使用key&值作为该阵列的相应条目,例如如果数据库包含:(‘first_name’,’Tom’),(‘last_name’,’Jeferson’),数组应该是数组(‘first_name’=>’Tom’,’last_name’=& )。
最常见的方法是:
$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'];
}
*另一种方法是通过调用fetchAll(PDO :: FETCH_COLUMN)两次&然后使用array_combine创建数组。但是,由于它涉及两个调用两个数据库,我忽略了这个选项。
还有另一种方法吗?