使用PDO 在結果中使用列值作為索引
使用SQL 表和PDO 時,您可能會遇到需要取得結果的情況由特定列值而非遞增數字索引的陣列。這樣可以更有效地檢索資料並簡化某些操作。
要實現此目的,您可以利用 PDO 的 PDO::FETCH_UNIQUE 取得模式。指定此模式時,結果陣列的索引將基於 SELECT 子句中列出的第一個欄位(或使用「*」時表定義中的第一個欄位)。
例如,考慮名為「brands」的表,包含id、name 和url 欄位:
| id | name | url | |-----|-----------|-----------| | 1 | Solidfloor | solidfloor | | 2 | Quickstep | quickstep | | 4 | Cleanfloor | cleanfloor |
取得資料並將id 欄位用作陣列索引:
$pdo = new PDO('...'); // PDO connection object $data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
產生的$data 數組將通過id列進行索引,如下所示:
[ 1 => [ 'name' => 'Solidfloor', 'url' => 'solidfloor' ], 2 => [ 'name' => 'Quickstep', 'url' => 'quickstep' ], 4 => [ 'name' => 'Cleanfloor', 'url' => 'cleanfloor' ] ]
這允許您直接透過 id 欄位存取資料:
$brand = $data[1]; // Get brand with ID 1
以上是如何使用列值作為 PDO 結果中的索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!