PDO:按列值將關聯數組分組
按特定列值對資料進行分組對於組織和操作資料集非常有用。本問題探討了一種使用 PDO 的 fetchAll 方法來實現此目的的方法。
提供的範例示範了包含姓名、年齡、性別和職位等欄位的員工資料集。目標是獲得按名稱列分組的關聯數組,從而產生如下數組結構:
[ 'Antony' => ['age' => 34, 'sex' => 'M', 'position' => 'programmer'], 'Sally' => ['age' => 30, 'sex' => 'F', 'position' => 'manager'], 'Matthew' => ['age' => 28, 'sex' => 'M', 'position' => 'designer'], ]
使用 PDO::FETCH_GROUP|PDO::FETCH_ASSOC 的初始方法引入了不需要的嵌套級別。為了解決這個問題,問題建議使用帶有 PDO::FETCH_GROUP|PDO::FETCH_ASSOC|PDO::FETCH_FUNC 的回呼函數。但是,它遇到了回調函數接收單個元素而不是數組的問題。
此問題的解決方案是使用 PDO::FETCH_GROUP|PDO::FETCH_UNIQUE。此方法將第一列指定為數組鍵,並將其餘列設為值,從而產生所需的分組關聯數組,而無需不必要的巢狀或陣列操作。
以上是如何使用 PDO 按列值將關聯數組分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!