ホームページ >バックエンド開発 >PHPチュートリアル >PDO を使用して列値によってグループ化された連想配列を取得するにはどうすればよいですか?
PDO を使用して列の値によってグループ化された連想配列を取得する
問題:
データセットを効率的に整理するには指定された列の値によってグループ化された連想配列では、PDO の FETCH_GROUP|PDO::FETCH_ASSOC モードを使用するときに不必要なネスト レベルをバイパスする方法を見つける必要があります。
解決策:
PDO::FETCH_GROUP モードと PDO::FETCH_UNIQUE モードの組み合わせを活用することで、単一のフェッチ操作で目的の配列構造を実現できます。
以下のコード スニペットは、このアプローチを示しています。
<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 では、一意のグループ値ごとに最初の行のみが結果に含まれることが保証されます。
結果として、$result 配列には次の構造が含まれます:
<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_ASSOC を単独で使用するときに発生する不必要なネスト レベルが排除され、より効率的で簡単な構造が提供されます。列の値によってグループ化された連想配列を取得する方法。
以上がPDO を使用して列値によってグループ化された連想配列を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。