問題:
在具有多個列的資料庫中(例如, “姓名”、“年齡”、“性別”和“位置”),我們如何使用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中文網其他相關文章!