php代码
function output($temp,$level) { for($i=0;$i<$level;$i++) { echo $temp[$i]; } echo '<br>'; } //产生全排列 递归参数传递一定要注意 function quanpai($arr,$flag,$level,$num,$temp) { if($level>=$num) {output($temp,$num);return;} for($i=0;$i<$num;$i++) { if($flag[$i]==0) { $temp[$level]=$arr[$i]; $flag[$i]=1; //if($level==2 && $i==3) {echo $temp[$i];exit;} quanpai($arr,$flag,$level+1,$num,$temp); $flag[$i]=0; } } } $arr=array(1,2,3,4); $len=count($arr); $i=0; $flag=array(); $temp=array(); while($i<$len){$flag[$i]=0;$i++;} quanpai($arr,$flag,0,$len,$temp);