首頁  >  文章  >  後端開發  >  如何使用 PDO 檢索按特定列分組的關聯數組?

如何使用 PDO 檢索按特定列分組的關聯數組?

Linda Hamilton
Linda Hamilton原創
2024-10-22 07:40:02969瀏覽

How to Retrieve Associative Arrays Grouped by Specific Column with PDO?

使用PDO 取得按列值分組的關聯數組

問題:

在具有多個列的資料庫中(例如, “姓名”、“年齡”、“性別”和“位置”),我們如何使用PDO 的fetchAll 方法檢索特定格式的關聯數組,其中每個數組的鍵是指定列中的字段(例如,“姓名”) )且值是該鍵對應的行?

答案:

使用PDO 的fetchAll 方法,我們可以指定以下標誌來實現所需的結果:

<code class="php">->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);</code>

透過組合FETCHTCHTCHTCHTCHTCHTCHTCHTCHTCHTCH ITCH最高程式 (FETCH_FE_和FETCH_UNIQUE,PDO 將自動按指定列對結果進行分組,並將第一列設定為每個組的鍵,同時排除重複記錄。這消除了額外的嵌套層級或像當前這樣的後處理操作的需要。

範例:

考慮以下範例資料集:

name age sex position
Antony 34 M programmer
Sally 30 F manager
Matthew 28 M designer

使用建議的fetch 方法,我們可以擷取所需的結果陣列:

<code class="php">$result = $pdo->query('SELECT * FROM employee')->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);

print_r($result);</code>

這將輸出以下關聯數組:

Array
(
  [Antony] => Array
    (
      [age] => 34
      [sex] => M
      [position] => programmer
    )

  [Sally] => Array
    (
      [age] => 30
      [sex] => F
      [position] => manager
    )

  [Matthew] => Array
    (
      [age] => 28
      [sex] => M
      [position] => designer
    )
)

以上是如何使用 PDO 檢索按特定列分組的關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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