"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment récupérer efficacement des paires clé-valeur dans un tableau associatif avec PDO FetchAll ?

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

Publié le 2024-10-31
Parcourir:693

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, il 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, en mappant la première colonne aux clés et la deuxième colonne aux valeurs.

Pour illustrer 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);

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

Array(
    'first_name' => 'Tom',
    'last_name'  => 'Jeferson'
)

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.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729583957. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3