在程式設計中,通常需要有效地操作和組織資料結構。根據特定標準對資料進行分組是一項常見任務。本文探討如何使用列值將 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中文網其他相關文章!