使用PDO 擷取按列值分組的關聯數組
問題:
問題:將資料集有效地組織成按指定列的值分組的關聯數組,在使用PDO 的FETCH_GROUP|PDO::FETCH_ASSOC 模式時,需要找到一種方法來繞過不必要的巢狀層級。
解決方案:
<code class="php">$stmt = $pdo->query('SELECT * FROM employee'); $result = $stmt->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);</code>透過利用 PDO::FETCH_GROUP 和 PDO::FETCH_UNIQUE 模式的組合,可以透過單一取得操作實現所需的陣列結構。 下面的程式碼片段示範了這個方法:
<code class="php">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 ) )</code>PDO::FETCH_GROUP 模式以第一列的值對行進行分組,而PDO::FETCH_UNIQUE 確保結果僅包含每個唯一組值的第一行。 因此,$result 數組將包含以下結構:這消除了單獨使用PDO::FETCH_GROUP|PDO::FETCH_ASSOC 時遇到的不必要的嵌套級別,提供了更有效率、更直接的方式檢索按列值分組的關聯數組的方法。
以上是如何使用 PDO 檢索按列值分組的關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!