Heim  >  Artikel  >  Backend-Entwicklung  >  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?

Barbara Streisand
Barbara StreisandOriginal
2024-10-22 20:54:02130Durchsuche

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);

Wenn die Datenbank in diesem Fall Zeilen wie ('Vorname', 'Tom') und ('Nachname', 'Jeferson') enthalten würde, wäre das resultierende $r-Array:

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.

Das obige ist der detaillierte Inhalt vonWie kann man Schlüssel-Wert-Paare mit PDO FetchAll effizient in ein assoziatives Array abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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