PHP 排列组合

计算数组有多少种排列组合

 

<?php
$arr = array('a', 'b', 'c', 'd', 'e', 'f');
combine_array($arr);

function combine_array($arr, $index=0) {
	static $num = 0;
	$arr_len = count($arr);
	if($arr_len == $index) {
		++$num;
		echo $num.' '. join(",", $arr) . '<br/>';
	} else {
		for($i=$index; $i<$arr_len; $i++) {
			list($arr[$index], $arr[$i]) = array($arr[$i], $arr[$index]);
			combine_array($arr, $index+1);
			list($arr[$index], $arr[$i]) = array($arr[$i], $arr[$index]);
		}
	}
}

你可能感兴趣的:(PHP,算法,面试题,排列组合)