Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich mit PDO assoziative Arrays ab, die nach einer bestimmten Spalte gruppiert sind?

Wie rufe ich mit PDO assoziative Arrays ab, die nach einer bestimmten Spalte gruppiert sind?

Linda Hamilton
Linda HamiltonOriginal
2024-10-22 07:40:02969Durchsuche

How to Retrieve Associative Arrays Grouped by Specific Column with PDO?

Abrufen assoziativer Arrays gruppiert nach Spaltenwerten mit PDO

Frage:

In einer Datenbank mit mehreren Spalten (z. B. „Name“, „Alter“, „Geschlecht“ und „Position“), wie können wir assoziative Arrays in einem bestimmten Format mithilfe der fetchAll-Methode von PDO abrufen, wobei der Schlüssel jedes Arrays ein Feld aus einer angegebenen Spalte ist (z. B. „Name“ ) und die Werte sind die entsprechenden Zeilen für diesen Schlüssel?

Antwort:

Mit der fetchAll-Methode von PDO können wir die folgenden Flags angeben, um das gewünschte Ergebnis zu erzielen:

<code class="php">->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);</code>

Durch die Kombination von FETCH_GROUP und FETCH_UNIQUE gruppiert PDO die Ergebnisse automatisch nach der angegebenen Spalte und legt die erste Spalte als Schlüssel für jede Gruppe fest, während doppelte Datensätze ausgeschlossen werden. Dadurch entfällt die zusätzliche Verschachtelungsebene oder die Notwendigkeit von Nachbearbeitungsvorgängen wie aktuell.

Beispiel:

Betrachten Sie den folgenden Beispieldatensatz:

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

Mit der empfohlenen Abrufmethode können wir das gewünschte Ergebnisarray abrufen:

<code class="php">$result = $pdo->query('SELECT * FROM employee')->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);

print_r($result);</code>

Dadurch wird das folgende assoziative Array ausgegeben:

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

Das obige ist der detaillierte Inhalt vonWie rufe ich mit PDO assoziative Arrays ab, die nach einer bestimmten Spalte gruppiert sind?. 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