array_group_by

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;
}
点赞

发表评论