Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je récupérer efficacement des paires clé-valeur à partir d'une requête PDO en tant que tableau associatif ?

DDD
Libérer: 2024-11-24 18:06:19
original
557 Les gens l'ont consulté

How Can I Efficiently Fetch Key-Value Pairs from a PDO Query as an Associative Array?

PDO FetchAll Group Key-Value Pairs in Associative Array

Lorsque vous travaillez avec des requêtes qui renvoient des paires clé-valeur, il est souvent souhaitable de récupérer les résultats sous forme de tableau associatif. Considérons la requête suivante :

SELECT `key`, `value` FROM `settings`;
Copier après la connexion

Le but est d'obtenir un tableau associatif où les clés correspondent à la colonne clé et les valeurs correspondent à la colonne valeur.

L'approche traditionnelle consiste à récupérer les résultats en utilisant PDO::FETCH_ASSOC puis en créant manuellement le tableau associatif à l'aide d'une boucle :

$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'];
}
Copier après la connexion

Cependant, il existe un moyen plus efficace d'obtenir le même résultat en utilisant PDO::FETCH_KEY_PAIR :

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

Cette méthode renvoie directement un tableau associatif où les clés correspondent à la colonne clé et les valeurs correspondent à la colonne valeur.

Cette approche est non seulement plus concis, mais évite également les boucles et la création de tableaux inutiles. C'est une solution pratique et efficace pour convertir les résultats des paires clé-valeur en un tableau associatif.

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.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal