«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно получить пары ключ-значение в ассоциативный массив с помощью PDO FetchAll?

Как эффективно получить пары ключ-значение в ассоциативный массив с помощью PDO FetchAll?

Опубликовано 31 октября 2024 г.
Просматривать:260

How to Efficiently Retrieve Key-Value Pairs into an Associative Array with PDO FetchAll?

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.

Заявление о выпуске Эта статья перепечатана по адресу: 1729583957. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3