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.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3