php基础------将二维数组转三维数组

时间:2022-10-11 09:18:08

将二维数组转为三维数组

/**
* 二维数组转三维数组(指定键为三维数组的键名)
* @param [type] $arr [要排序的数组]
* @param [type] $key [指定的键]
* @return [type] $grouped [重排的数组]
*/
function array_group_by($arr, $key)
{
$grouped = [];
foreach ($arr as $value) {
$grouped[$value[$key]][] = $value;
} if (func_num_args() > 2) {
$args = func_get_args();
foreach ($grouped as $key => $value) {
$parms = array_merge([$value], array_slice($args, 2, func_num_args()));
$grouped[$key] = call_user_func_array('array_group_by', $parms);
}
}
return $grouped;
}