首頁  >  文章  >  後端開發  >  如何以列值將 2D 陣列分組為 3D 陣列?

如何以列值將 2D 陣列分組為 3D 陣列?

Susan Sarandon
Susan Sarandon原創
2024-11-02 17:28:29976瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn