在编程中,通常需要有效地操作和组织数据结构。根据特定标准对数据进行分组是一项常见任务。本文探讨了如何使用列值对 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中文网其他相关文章!