PDO FetchAll Group Key-Value Pairs into Associative Array
Bei der Arbeit mit Abfragen, die Schlüssel-Wert-Paare zurückgeben, ist es oft wünschenswert, sie abzurufen die Ergebnisse als assoziatives Array. Betrachten Sie die folgende Abfrage:
SELECT `key`, `value` FROM `settings`;
Das Ziel besteht darin, ein assoziatives Array zu erhalten, in dem die Schlüssel der Schlüsselspalte und die Werte der Wertespalte entsprechen.
Der traditionelle Ansatz beinhaltet das Abrufen die Ergebnisse mithilfe von PDO::FETCH_ASSOC und anschließendes manuelles Erstellen des assoziativen Arrays mithilfe einer Schleife:
$settings_flat = $db ->query("SELECT `name`, `value` FROM `settings`;") ->fetchAll(PDO::FETCH_ASSOC); $settings = array(); foreach ($settings_flat as $setting) { $settings[$setting['name']] = $setting['value']; }
Es gibt jedoch eine Effizientere Möglichkeit, das gleiche Ergebnis mit PDO::FETCH_KEY_PAIR zu erzielen:
$q = $db->query("SELECT `name`, `value` FROM `settings`;"); $r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
Diese Methode gibt direkt ein assoziatives Array zurück, in dem die Schlüssel der Schlüsselspalte und die Werte der Wertespalte entsprechen.
Dieser Ansatz ist nicht nur prägnanter, sondern vermeidet auch unnötige Schleifen und Array-Erstellung. Es ist eine praktische und effiziente Lösung zum Konvertieren von Schlüssel-Wert-Paarergebnissen in ein assoziatives Array.
Das obige ist der detaillierte Inhalt vonWie kann ich Schlüssel-Wert-Paare effizient aus einer PDO-Abfrage als assoziatives Array abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!