N个元素中取M个的全组合

时间:2021-10-15 09:50:50
$arr = array('1', '2', '3', '4', '5');
for($i = 1; $i <= count($arr); $i++){
	loop($arr, '', $i);
}

function loop($arr, $prefix, $n){
	if (count($arr) < $n || $n == 0) {
		return;
	} elseif($n == 1) {
		foreach ($arr as $v) {
			echo $prefix.$v.'<br>';
		}
	} else {
		foreach ($arr as $v){
			array_shift($arr);
			if (count($arr) >= $n - 1) {
				loop($arr, $prefix.$v, $n-1);
			}
		}
	}
}

相关文章