「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PDO を使用して列の値によって連想配列をグループ化するにはどうすればよいですか?

PDO を使用して列の値によって連想配列をグループ化するにはどうすればよいですか?

2024 年 11 月 14 日公開
ブラウズ:158

How to Group Associative Arrays by Column Values Using PDO?

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 を使用することです。このアプローチでは、最初の列を配列キーとして指定し、残りの列を値として設定し、不必要なネストや配列操作を行わずに、目的のグループ化された連想配列を生成します。

リリースステートメント この記事は次の場所に転載されています: 1729553838 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3