<?php
$data = "abcdefghijk"; //测试串,长度任意。越长则运行时间越长
preg_match_all("/./",$data,$r); //按字符分裂成数组
$ar = $r[0];
/**
递归函数,参数
$ar 数据数组
$m 组合串的长度
$s 工作变量,用于缓存中间量
**/
function foo($ar,$m,$s='') {
if($m == 0) {
echo "$s<br/>"; //如果长度够了则输出结果
}else {
for($i=0;$i<count($ar);$i++) {
foo($ar,$m-1,$s.$ar[$i]); //递归
}
}
}
foo($ar,5);
?>