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!