使用PDO 在結果中使用列的值作為索引
在資料庫程式設計領域,常常會遇到查詢結果需要索引方式與預設增量方法不同。像此查詢中所示的特定場景表明需要一種更清潔、更有效率的解決方案。
查詢:
我們的範例涉及名為「brands」的 SQL 表' 包含「id」、「name」和「url」欄位。其中包含的資料集如下所示:
1, Solidfloor, solidfloor 2, Quickstep, quickstep 4, Cleanfloor, cleanfloor 5, Blue Dolphin, blue-dolphin 6, Krono, krono 8, Meister, meister
問題陳述:
取得所有這些記錄通常會產生一個具有增量索引的陣列。但是,要求是使用“id”列對這些數組進行索引。對結果集進行暴力循環是可行的選擇,但不是最佳選擇。
PDO 的獨特解決方案:
PDO 透過 PDO 提供了一個出色的解決方案:: FETCH_UNIQUE 取得模式。使用時,此模式允許透過 SELECT 子句中定義的第一個欄位對結果陣列進行索引。在我們的例子中,使用“*”時,它將是“id”欄位。
程式碼實作:
$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
輸出格式:
因此,您將獲得一個數組,其中索引對應於“id”值。例如,結果如下所示:
1 => array( 'name' => 'Solidfloor', 'url' => 'solidfloor', ), 2 => array( 'name' => 'Quickstep', 'url' => 'quickstep', ), 4 => array( 'name' => 'Cleanfloor', 'url' => 'cleanfloor', )
透過利用 PDO::FETCH_UNIQUE,您可以優雅地實現所需的索引,而無需訴諸繁瑣的循環操作。
以上是如何使用列的值作為 PDO 查詢結果的索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!