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