Comment récupérer efficacement des paires clé-valeur dans un tableau associatif avec PDO FetchAll ?

Barbara Streisand
Libérer: 2024-10-22 20:54:02
original
186 Les gens l'ont consulté

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

PDO FetchAll : regrouper les paires clé-valeur dans un tableau associatif

Dans les requêtes de base de données qui renvoient des paires clé-valeur, cela est souvent pratique pour récupérer les données sous forme de tableau associatif, avec les valeurs mappées sur leurs clés respectives. Bien qu'il existe des méthodes courantes pour y parvenir, comme l'utilisation de fetchAll(PDO::FETCH_ASSOC) suivie d'une itération manuelle pour créer le tableau, cette approche peut s'avérer fastidieuse.

Une solution alternative, spécialement conçue à cet effet, consiste à utiliser l'option fetchAll(PDO::FETCH_KEY_PAIR). Cette méthode crée automatiquement un tableau associatif avec les résultats de la requête, mappant la première colonne aux clés et la deuxième colonne aux valeurs.

Pour démontrer cela, considérons une requête qui récupère les colonnes de nom et de valeur de la table des paramètres. :

$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r  = $q->fetchAll(PDO::FETCH_KEY_PAIR);
Copier après la connexion

Dans ce cas, si la base de données contenait des lignes telles que ('first_name', 'Tom') et ('last_name', 'Jeferson'), le tableau $r résultant serait :

Array(
    'first_name' => 'Tom',
    'last_name'  => 'Jeferson'
)
Copier après la connexion

Cette méthode fournit un moyen simple et efficace de récupérer des paires clé-valeur dans un tableau associatif, éliminant ainsi le besoin de création manuelle d'un tableau. Il est pris en charge par les versions PHP modernes et certaines bases de données populaires comme PostgreSQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal