"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 regrouper des tableaux associatifs par valeurs de colonne à l'aide de PDO ?

Comment regrouper des tableaux associatifs par valeurs de colonne à l'aide de PDO ?

Publié le 2024-11-14
Parcourir:281

How to Group Associative Arrays by Column Values Using PDO?

PDO : regroupement de tableaux associatifs par valeurs de colonne

Le regroupement de données par valeurs de colonne spécifiques peut être utile pour organiser et manipuler des ensembles de données. Cette question explore un moyen d'y parvenir en utilisant la méthode fetchAll de PDO.

L'exemple fourni montre un ensemble de données d'employés avec des colonnes telles que le nom, l'âge, le sexe et le poste. Le but est d'obtenir un tableau associatif regroupé par la colonne de nom, résultant en une structure de tableau comme :

[
  'Antony' => ['age' => 34, 'sex' => 'M', 'position' => 'programmer'],
  'Sally' => ['age' => 30, 'sex' => 'F', 'position' => 'manager'],
  'Matthew' => ['age' => 28, 'sex' => 'M', 'position' => 'designer'],
]

L'approche initiale utilisant PDO::FETCH_GROUP|PDO::FETCH_ASSOC introduit des niveaux d'imbrication indésirables. Pour résoudre ce problème, la question suggère d'utiliser une fonction de rappel avec PDO::FETCH_GROUP|PDO::FETCH_ASSOC|PDO::FETCH_FUNC. Cependant, il rencontre des problèmes avec la fonction de rappel recevant des éléments individuels au lieu de tableaux.

La solution à ce problème consiste à utiliser PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE. Cette approche désigne la première colonne comme clé du tableau et définit les colonnes restantes comme valeurs, produisant le tableau associatif groupé souhaité sans imbrication ou manipulation de tableau inutile.

Déclaration de sortie Cet article est reproduit sur: 1729553838 S'il y a une contrefaçon, 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