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

Linda Hamilton
Freigeben: 2024-10-22 07:40:02
Original
966 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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
    )
)
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!