Maison > développement back-end > tutoriel php > Comment convertir efficacement un résultat de base de données en un tableau associatif à l'aide de PDO ?

Comment convertir efficacement un résultat de base de données en un tableau associatif à l'aide de PDO ?

Susan Sarandon
Libérer: 2024-10-22 20:04:02
original
372 Les gens l'ont consulté

How to Efficiently Convert a Database Result Into an Associative Array Using PDO?

Conversion de l'ensemble de résultats en un tableau associatif à l'aide de paires clé-valeur avec PDO

Lorsque vous travaillez avec une requête qui renvoie des paires clé-valeur, tels que :

<code class="sql">SELECT `key`, `value` FROM `settings`;</code>
Copier après la connexion

Vous souhaiterez peut-être un tableau associatif où les clés et les valeurs correspondent aux données renvoyées. Généralement, cela est réalisé grâce à un processus impliquant :

<code class="php">$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'];
}</code>
Copier après la connexion

Bien que cette méthode soit courante, elle nécessite plusieurs itérations et des problèmes de performances potentiels. Cependant, il existe une solution alternative :

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

La constante PDO::FETCH_KEY_PAIR vous permet de récupérer des données sous forme de tableau associatif directement à partir de la requête, simplifiant ainsi le processus et améliorant potentiellement les performances sur des ensembles de résultats plus volumineux.

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