Работа с данными в формате ключ-значение — другими словами с ассоциативными массивами очень удобна. Сейчас приведу просто пример как заставить PDO вернуть записи БД сразу в формате ключ-значение.
Это полезно, когда Вам нужно получить, например id и название записи. При этом формат по умолчанию, мягко говоря не удобен при необходимости обращения по id.
Сравните два формата:
[
0 => [
'id' => 10,
'name' => 'Onfor'
]
]
// против
[
10 => 'Onfor'
]
Для реализации такого решения следует использовать следующий код:
$q = $db->query("SELECT `id` AS id, `name` AS name FROM `some_table`;");
$r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
Данная опция позволит сгруппировать полученные данные так, что мы сразу же можем получить нужное имя, используя $id. Например, $r[$id] — вернет имя для ID = 10.