Maison > développement back-end > tutoriel php > Comment utiliser PDO pour récupérer un tableau associatif regroupé par valeurs de colonne ?

Comment utiliser PDO pour récupérer un tableau associatif regroupé par valeurs de colonne ?

Barbara Streisand
Libérer: 2024-10-22 07:37:31
original
723 Les gens l'ont consulté

How to Use PDO to Retrieve an Associative Array Grouped by Column Values?

Utilisation de PDO pour récupérer un tableau associatif regroupé par valeurs de colonnes

Dans les opérations de base de données, il est souvent nécessaire de récupérer des données organisées dans des formats spécifiques . L'un de ces formats est un tableau associatif regroupé par les valeurs d'une colonne particulière. Cela permet un accès facile aux données basées sur la colonne spécifiée. Voici une discussion sur la façon d'y parvenir en utilisant PDO.

Problème : Étant donné un tableau avec les données suivantes :

name age sex position
Antony 34 M programmer
Sally 30 F manager
Matthew 28 M designer

Objectif : Récupérez les données au format suivant :

Array
(
  [Antony] => Array
    (
      [age] => 34
      [sex] => M
      [position] => programmer
    )

  [Sally] => Array
    (
      [age] => 30
      [sex] => F
      [position] => manager
    )

  [Matthew] => Array
    (
      [age] => 28
      [sex] => M
      [position] => designer
    )
)
Copier après la connexion

Solution : Pour y parvenir, vous pouvez utiliser la méthode fetchAll de PDO avec les modes suivants :

$pdo->query('SELECT * FROM employee')->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_UNIQUE);
Copier après la connexion

Le Le mode FETCH_GROUP regroupe les résultats par les valeurs de la première colonne. Le mode FETCH_UNIQUE limite les résultats à une seule ligne pour chaque valeur unique dans la colonne de regroupement. En conséquence, vous obtenez un tableau associatif avec les valeurs des colonnes servant de clés et les colonnes restantes comme valeurs.

Exemple de sortie :

Array
(
  [Antony] => Array
    (
      [0] => (age: 34, sex: M, position: programmer)
    )
  [Sally] => Array
    (
      [0] => (age: 30, sex: F, position: manager)
    )
  [Matthew] => Array
    (
      [0] => (age: 28, sex: M, position: designer)
    )
)
Copier après la connexion

Notez que le la sortie contient des tableaux avec une seule ligne pour chaque groupe. En effet, le mode FETCH_UNIQUE garantit que seule la première ligne de chaque groupe est récupérée.

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