使用PDO 的列值索引數組
在從資料庫檢索資料的過程中,我們經常遇到需要獲得結果的情況由特定列值索引的集合。當處理大型資料集或當您想要使用特定鍵快速尋找資料時,這特別有用。
以包含下列資料的「品牌」表為例:
id | name | url |
---|---|---|
1 | Solidfloor | solidfloor |
2 | Quickstep | quickstep |
4 | Cleanfloor | cleanfloor |
5 | Blue Dolphin | blue-dolphin |
6 | Krono | krono |
8 | Meister | meister |
傳統上,PDO 提供PDO::FETCH_ASSOC 模式,該模式傳回一個關聯數組,其中鍵為列名。然而,這種方法不太符合我們的索引要求。
為了簡潔的解決方案,PDO 提供了一個不太為人所知的參數,稱為 PDO::FETCH_UNIQUE。透過利用此參數,我們可以指定結果陣列的索引應該是 SELECT 子句中列出的第一個欄位的值,或在我們的範例中為 id 欄位。
$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
使用PDO:: FETCH_UNIQUE 確保結果數組由id 列索引,提供更直觀的資料結構:
[ 1 => [ 'name' => 'Solidfloor', 'url' => 'solidfloor', ], 2 => [ 'name' => 'Quickstep', 'url' => 'quickstep', ], 4 => [ 'name' => 'Cleanfloor', 'url' => 'cleanfloor', ], ]
透過合併PDO::FETCH_UNIQUE,我們消除了對複雜複雜循環的需要,並提供了一種更有效的方法來索引資料庫結果。
以上是如何使用特定列值對 PDO 結果集建立索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!