„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann man Schlüssel-Wert-Paare mit PDO FetchAll effizient in ein assoziatives Array abrufen?

Wie kann man Schlüssel-Wert-Paare mit PDO FetchAll effizient in ein assoziatives Array abrufen?

Veröffentlicht am 31.10.2024
Durchsuche:367

How to Efficiently Retrieve Key-Value Pairs into an Associative Array with PDO FetchAll?

PDO FetchAll: Schlüssel-Wert-Paare in einem assoziativen Array gruppieren

Bei Datenbankabfragen, die Schlüssel-Wert-Paare zurückgeben, ist dies oft praktisch um die Daten als assoziatives Array abzurufen, wobei die Werte ihren jeweiligen Schlüsseln zugeordnet sind. Zwar gibt es gängige Methoden, um dies zu erreichen, wie z. B. die Verwendung von fetchAll(PDO::FETCH_ASSOC) gefolgt von einer manuellen Iteration zum Erstellen des Arrays, dieser Ansatz kann jedoch umständlich sein.

Eine alternative Lösung, die speziell für diesen Zweck entwickelt wurde: besteht darin, die Option fetchAll(PDO::FETCH_KEY_PAIR) zu verwenden. Diese Methode erstellt automatisch ein assoziatives Array mit den Abfrageergebnissen und ordnet die erste Spalte den Schlüsseln und die zweite Spalte den Werten zu.

Um dies zu veranschaulichen, stellen Sie sich eine Abfrage vor, die Namens- und Wertspalten aus der Einstellungstabelle abruft :

$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r  = $q->fetchAll(PDO::FETCH_KEY_PAIR);

In diesem Fall, wenn die Datenbank Zeilen wie ('Vorname', 'Tom') und ('Nachname', 'Jeferson') enthielt , das resultierende $r-Array wäre:

Array(
    'first_name' => 'Tom',
    'last_name'  => 'Jeferson'
)

Diese Methode bietet eine einfache und effiziente Möglichkeit, Schlüssel-Wert-Paare in ein assoziatives Array abzurufen, sodass keine manuelle Array-Erstellung erforderlich ist. Es wird von modernen PHP-Versionen und einigen beliebten Datenbanken wie PostgreSQL unterstützt.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729583957 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3