ホームページ >バックエンド開発 >PHPチュートリアル >列の値ごとに 2D 配列を 3D 配列にグループ化するにはどうすればよいですか?

列の値ごとに 2D 配列を 3D 配列にグループ化するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 17:28:29986ブラウズ

How to Group a 2D Array by Column Value into a 3D Array?

3D 配列の列値を使用して 2D 配列データをグループ化する

プログラミングでは、多くの場合、データ構造を効果的に操作して編成することが必要になります。特定の基準に基づいてデータをグループ化することは一般的なタスクです。この記事では、列の値を使用して 2D 配列をグループ化し、3D 配列を作成する方法について説明します。

次の 2D 配列について考えてみましょう:

[
    ['cust' => 'XT8900', 'type' => 'standard', 'level' => 1],
    ['cust' => 'XT8944', 'type' => 'standard', 'level' => 1],
    ['cust' => 'XT8922', 'type' => 'premier', 'level' => 3],
    ['cust' => 'XT8816', 'type' => 'permier', 'level' => 3],
    ['cust' => 'XT7434', 'type' => 'standard', 'level' => 7],
]

私たちの目的は、このデータを ' でグループ化することです。 level' 列を使用して、効果的に 3D 配列を作成します。望ましい出力は次のようになります。

Array (

   [1] => Array (
          [0] => Array (
                    [cust] => XT8900
                    [type] => standard
                    )
          [1] => Array (
                    [cust] => XT8944
                    [type] => standard
                    )
          )

   [3] => Array (
          [2] => Array (
                 [cust] => XT8922
                 [type] => premier
                 )

          [3] => Array (
                 [cust] => XT8816
                 [type] => permier
                 )
          )

   [7] => Array (
          [4] => Array (
                 [cust] => XT7434
                 [type] => standard
                 )
          )
)

最適なアプローチ

最も効率的な解決策は、可能であれば 3D 配列を直接作成することです。ただし、これが不可能な場合は、並べ替えに中間の一時配列を使用できます。

<code class="php">foreach ($input_arr as $key => &$entry) {
    $level_arr[$entry['level']][$key] = $entry;
}</code>

これにより、目的の 3D 配列構造が得られます。最適なパフォーマンスを得るには、可能であれば最初から最終形式で配列を構築することを検討することが重要です。

以上が列の値ごとに 2D 配列を 3D 配列にグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。