PDO を使用して特定の列でグループ化された連想配列を取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-22 07:40:02
オリジナル
966 人が閲覧しました

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>
ログイン後にコピー

FETCH_GROUP と FETCH_UNIQUE を組み合わせると、PDO は指定された列ごとに結果を自動的にグループ化し、重複レコードを除外しながら最初の列を各グループのキーとして設定します。これにより、追加のネスト レベルや現在のような後処理操作の必要がなくなります。

例:

次のサンプル データセットを考えてみましょう:

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

推奨されるフェッチ方法を使用すると、目的の結果配列を取得できます:

<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!