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.
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!