Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich PDO, um ein nach Spaltenwerten gruppiertes assoziatives Array abzurufen?

Wie verwende ich PDO, um ein nach Spaltenwerten gruppiertes assoziatives Array abzurufen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-22 07:37:31644Durchsuche

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

Verwenden von PDO zum Abrufen eines nach Spaltenwerten gruppierten assoziativen Arrays

Bei Datenbankoperationen ist es häufig erforderlich, in bestimmten Formaten organisierte Daten abzurufen . Ein solches Format ist ein assoziatives Array, das nach den Werten einer bestimmten Spalte gruppiert ist. Dies ermöglicht einen einfachen Zugriff auf Daten basierend auf der angegebenen Spalte. Hier finden Sie eine Diskussion darüber, wie Sie dies mithilfe von PDO erreichen können.

Problem:Gegeben sei eine Tabelle mit den folgenden Daten:

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

Ziel: Rufen Sie die Daten im folgenden Format ab:

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
    )
)

Lösung:Um dies zu erreichen, können Sie die fetchAll-Methode von PDO mit den folgenden Modi verwenden:

$pdo->query('SELECT * FROM employee')->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_UNIQUE);

Die Der FETCH_GROUP-Modus gruppiert die Ergebnisse nach den Werten der ersten Spalte. Der FETCH_UNIQUE-Modus beschränkt die Ergebnisse auf eine einzelne Zeile für jeden eindeutigen Wert in der Gruppierungsspalte. Als Ergebnis erhalten Sie ein assoziatives Array, bei dem die Spaltenwerte als Schlüssel und die übrigen Spalten als Werte dienen.

Beispielausgabe:

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)
    )
)

Beachten Sie, dass die Die Ausgabe enthält Arrays mit einer einzelnen Zeile für jede Gruppe. Dies liegt daran, dass der FETCH_UNIQUE-Modus sicherstellt, dass nur die erste Zeile für jede Gruppe abgerufen wird.

Das obige ist der detaillierte Inhalt vonWie verwende ich PDO, um ein nach Spaltenwerten gruppiertes assoziatives Array abzurufen?. 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