Heim >Backend-Entwicklung >PHP-Tutorial >Wie rufe ich mit PDO nach Spaltenwerten gruppierte assoziative Arrays ab?
Abrufen eines nach Spaltenwerten gruppierten assoziativen Arrays mit PDO
Problem:
Einen Datensatz effizient organisieren Wenn es sich um ein assoziatives Array handelt, das nach den Werten einer bestimmten Spalte gruppiert ist, muss eine Möglichkeit gefunden werden, die unnötige Verschachtelungsebene zu umgehen, wenn der FETCH_GROUP|PDO::FETCH_ASSOC-Modus von PDO verwendet wird.
Lösung:
Durch die Nutzung der Kombination der Modi PDO::FETCH_GROUP und PDO::FETCH_UNIQUE kann die gewünschte Array-Struktur mit einem einzigen Abrufvorgang erreicht werden.
Der folgende Codeausschnitt veranschaulicht diesen Ansatz:
<code class="php">$stmt = $pdo->query('SELECT * FROM employee'); $result = $stmt->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);</code>
Der PDO::FETCH_GROUP-Modus gruppiert die Zeilen nach den Werten der ersten Spalte, während PDO::FETCH_UNIQUE sicherstellt, dass nur die erste Zeile für jeden eindeutigen Gruppenwert im Ergebnis enthalten ist.
Als Ergebnis enthält das $result-Array die folgende Struktur:
<code class="php">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 ) )</code>
Dadurch wird die unnötige Verschachtelungsebene eliminiert, die bei der alleinigen Verwendung von PDO::FETCH_GROUP|PDO::FETCH_ASSOC auftritt, was eine effizientere und unkompliziertere Lösung ermöglicht Möglichkeit, nach Spaltenwerten gruppierte assoziative Arrays abzurufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich mit PDO nach Spaltenwerten gruppierte assoziative Arrays ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!