$arr = [
[
'name' => "项目1",
'model' => "金",
'location' => '苏州',
],
[
'name' => "项目1",
'model' => "银",
'location' => '上海',
],
[
'name' => "项目2",
'model' => "铜",
'location' => '北京',
],
[
'name' => "项目2",
'model' => "铜",
'location' => '深圳',
],
];
将上面的一维数组转成多维数组,大致实现以下结构
$arr = [
[
'name' => "项目1",
'child'=>[
[
'model' => "金",
'child'=>[
[
'location' => '苏州',
],
]
],
[
'model' => "银",
'child'=>[
[
'location' => '上海',
]
]
]
]
],
[
'name' => "项目2",
'child'=>[
[
'model' => "铜",
'child'=>[
[
'location' => '北京',
],
[
'location' => '深圳',
],
]
]
]
],
];
用以下代码,键会是中文,怎么改成键是数值
foreach ($arr as $v) {
$result[$v['name']][$v['model']][$v['location']][] = $v;
}
var_dump($result);
来一个比较绕的解法吧,这玩意儿也只好循环了,第一步先扁平化分组是很重要的。