首頁 >後端開發 >php教程 >如何使用 PDO FetchAll 有效率地將鍵值對檢索到關聯數組中?

如何使用 PDO FetchAll 有效率地將鍵值對檢索到關聯數組中?

Barbara Streisand
Barbara Streisand原創
2024-10-22 20:54:02202瀏覽

How to Efficiently Retrieve Key-Value Pairs into an Associative Array with PDO FetchAll?

PDO FetchAll:將鍵值分組為關聯數組

在返回鍵值對的資料庫查詢中,通常很方便以關聯數組的形式檢索數據,並將值映射到各自的鍵。雖然有一些常見的方法可以實現此目的,例如使用 fetchAll(PDO::FETCH_ASSOC) 然後手動迭代來建立數組,但這種方法可能很麻煩。

專門為此目的設計的替代解決方案,是使用 fetchAll(PDO::FETCH_KEY_PAIR) 選項。此方法會自動建立一個包含查詢結果的關聯數組,將第一列對應到鍵,將第二列對應到值。

為了示範這一點,請考慮一個從設定表中檢索名稱和值列的查詢:

$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r  = $q->fetchAll(PDO::FETCH_KEY_PAIR);

在這種情況下,如果資料庫包含('first_name', ' Tom') 和('last_name', 'Jeferson') 等行,則產生的$r 陣列將為:

Array(
    'first_name' => 'Tom',
    'last_name'  => 'Jeferson'
)

此方法提供了一種簡單有效的方法來將鍵值對檢索到關聯數組中,從而無需手動建立數組。現代 PHP 版本和一些流行的資料庫(如 PostgreSQL)都支援它。

以上是如何使用 PDO FetchAll 有效率地將鍵值對檢索到關聯數組中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn