3 回答
TA贡献1829条经验 获得超7个赞
您可以使用foreach通过使用组regulations_label和groups_label
$group = [];
foreach($data as $v){
$group[$v['regulations_label']][$v['groups_label']][] = $v['filters_label'];
}
TA贡献1871条经验 获得超13个赞
您需要做的就是记住上次处理的内容,然后添加几个 IF
$data = [
0 => ['regulations_label' => 'Europe','groups_label' => 'G1','filters_label' => 'FF1'],
1 => ['regulations_label' => 'Europe','groups_label' => 'G1','filters_label' => 'FF900'],
2 => ['regulations_label' => 'Europe','groups_label' => 'G1','filters_label' => 'FF324234'],
3 => ['regulations_label' => 'Europe','groups_label' => 'G2','filters_label' => 'FF23942'],
4 => ['regulations_label' => 'America','groups_label' => 'G29','filters_label' => 'FF3242'],
5 => ['regulations_label' => 'America','groups_label' => 'G29','filters_label' => 'FF78978'],
6 => ['regulations_label' => 'America','groups_label' => 'G29','filters_label' => 'FF48395043'],
7 => ['regulations_label' => 'Asia','groups_label' => 'G2000','filters_label' => 'FF7']
];
$last_reg = NULL;
$last_grp = NULL;
foreach ($data as $reg) {
if ( $last_reg != $reg['regulations_label']) {
echo $reg['regulations_label'] . "\n";
$last_reg = $reg['regulations_label'];
$last_grp = NULL;
$last_filter = NULL;
}
if ( $last_grp != $reg['groups_label']) {
echo "\t - " . $reg['groups_label'] . "\n";
$last_grp = $reg['groups_label'];
}
echo "\t\t - " . $reg['filters_label'] . "\n";
}
结果:
Europe
- G1
- FF1
- FF900
- FF324234
- G2
- FF23942
America
- G29
- FF3242
- FF78978
- FF48395043
Asia
- G2000
- FF7
- 3 回答
- 0 关注
- 160 浏览
添加回答
举报