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`;
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']; }
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);
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!