给出了带有字段(状态,类型等)的“平面”数组,这些字段可以是动态的(或多或少的键/值对),例如:
$data = array(
array(
"status" => "new",
"type" => "type1",
"source" => "source1",
"other" => "other1",
"count" => "1",
),
...
目的是通过不同数量的分组字段来获得多维/嵌套数组“分组”。例如,如果需要按4个字段分组:
$groups = array("status", "type", "source", "other");
如果没有子代,则“数据”键应具有所有“原始”数据;如果有子代,则将字段和值分组,如演示和此图中所示
产生的数据集应如下所示:
Array
(
[0] => Array
(
[fieldName] => status
[value] => new
[children] => Array
(
[0] => Array
(
[fieldName] => type
[value] => type1
[children] => Array
(
[0] => Array
(
[fieldName] => source
[value] => source1
[children] => Array
(
[0] => Array
(
[fieldName] => other
[value] => other1
[data] => Array
(
[0] => Array
我将解决方案从(将php数组重新排列为嵌套的层次结构数组)改编而成,但是它很凌乱,并且占用大量内存和时间。是否可以针对大型数据集(10000个及更多“平面”数组记录)进行优化,提高性能并美化代码?
这将用于计算每个组的小计(总和,计数,平均值等)。
饮歌长啸