Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gruppiere ich assoziative Arrays mithilfe von PDO nach Spaltenwerten?

Wie gruppiere ich assoziative Arrays mithilfe von PDO nach Spaltenwerten?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-22 07:39:02804Durchsuche

How to Group Associative Arrays by Column Values Using PDO?

PDO: Gruppieren assoziativer Arrays nach Spaltenwerten

Das Gruppieren von Daten nach bestimmten Spaltenwerten kann zum Organisieren und Bearbeiten von Datensätzen hilfreich sein. In dieser Frage wird eine Möglichkeit untersucht, dies mithilfe der fetchAll-Methode von PDO zu erreichen.

Das bereitgestellte Beispiel zeigt einen Datensatz von Mitarbeitern mit Spalten wie Name, Alter, Geschlecht und Position. Das Ziel besteht darin, ein assoziatives Array zu erhalten, das nach der Namensspalte gruppiert ist, was zu einer Array-Struktur wie folgt führt:

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

Der anfängliche Ansatz mit PDO::FETCH_GROUP|PDO::FETCH_ASSOC führt unerwünschte Verschachtelungsebenen ein. Um dieses Problem zu lösen, schlägt die Frage die Verwendung einer Rückruffunktion mit PDO::FETCH_GROUP|PDO::FETCH_ASSOC|PDO::FETCH_FUNC vor. Es treten jedoch Probleme auf, wenn die Rückruffunktion einzelne Elemente anstelle von Arrays empfängt.

Die Lösung für dieses Problem ist die Verwendung von PDO::FETCH_GROUP|PDO::FETCH_UNIQUE. Dieser Ansatz legt die erste Spalte als Array-Schlüssel fest und legt die übrigen Spalten als Werte fest, wodurch das gewünschte gruppierte assoziative Array ohne unnötige Verschachtelung oder Array-Manipulation entsteht.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich assoziative Arrays mithilfe von PDO nach Spaltenwerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn