Arrays mithilfe von Spaltenwerten mit PDO indizieren
Bei der Suche nach Daten aus einer Datenbank müssen wir oft ein Ergebnis haben Durch einen bestimmten Spaltenwert indizierter Satz. Dies kann besonders nützlich sein, wenn Sie mit großen Datensätzen arbeiten oder wenn Sie schnell Daten mit einem bestimmten Schlüssel nachschlagen möchten.
Nehmen Sie zum Beispiel die Tabelle „Marken“ mit den folgenden Daten:
id | name | url |
---|---|---|
1 | Solidfloor | solidfloor |
2 | Quickstep | quickstep |
4 | Cleanfloor | cleanfloor |
5 | Blue Dolphin | blue-dolphin |
6 | Krono | krono |
8 | Meister | meister |
Traditionell bietet PDO den PDO::FETCH_ASSOC-Modus, der ein assoziatives Array zurückgibt, in dem die Schlüssel die Spaltennamen sind. Dieser Ansatz entspricht jedoch nicht ganz unseren Indizierungsanforderungen.
Für eine präzise Lösung stellt PDO einen weniger bekannten Parameter namens PDO::FETCH_UNIQUE bereit. Durch die Verwendung dieses Parameters können wir angeben, dass der Index des resultierenden Arrays der Wert des ersten in der SELECT-Klausel aufgeführten Felds sein soll, oder in unserem Fall das ID-Feld.
$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
Mit PDO:: FETCH_UNIQUE stellt sicher, dass das resultierende Array durch die ID-Spalte indiziert wird, wodurch eine viel intuitivere Datenstruktur bereitgestellt wird:
[ 1 => [ 'name' => 'Solidfloor', 'url' => 'solidfloor', ], 2 => [ 'name' => 'Quickstep', 'url' => 'quickstep', ], 4 => [ 'name' => 'Cleanfloor', 'url' => 'cleanfloor', ], ]
Durch die Einbindung PDO::FETCH_UNIQUE machen komplizierte Schleifen überflüssig und bieten eine effizientere Möglichkeit, Datenbankergebnisse zu indizieren.
Das obige ist der detaillierte Inhalt vonWie kann ich PDO-Ergebnismengen mithilfe eines bestimmten Spaltenwerts indizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!