首頁  >  文章  >  資料庫  >  如何從 PDO 查詢中高效率地取得鍵值對作為關聯數組?

如何從 PDO 查詢中高效率地取得鍵值對作為關聯數組?

DDD
DDD原創
2024-11-24 18:06:19558瀏覽

How Can I Efficiently Fetch Key-Value Pairs from a PDO Query as an Associative Array?

PDO 將所有組鍵值對放入關聯數組

在處理返回鍵值對的查詢時,通常需要檢索結果作為關聯數組。考慮以下查詢:

SELECT `key`, `value` FROM `settings`;

目標是取得一個關聯數組,其中鍵對應於鍵列,值對應於值列。

傳統方法涉及取得使用 PDO::FETCH_ASSOC 的結果,然後使用循環手動建立關聯陣列:

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

$settings = array();

foreach ($settings_flat as $setting) {
    $settings[$setting['name']] = $setting['value'];
}

但是,有一種更有效的方法可以使用PDO::FETCH_KEY_PAIR:

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

此方法直接傳回一個關聯數組,其中鍵對應於鍵列,值對應於值列。

這種方法不僅更簡潔,而且還避免了不必要的循環和陣列創建。它是將鍵值對結果轉換為關聯數組的便捷高效的解決方案。

以上是如何從 PDO 查詢中高效率地取得鍵值對作為關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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