这篇文章主要为大家详细介绍了php 给定字符串和排列组合长度生成所有可能的排列组合,具有一定的参考价值,可以用来参考一下。
给定一个字符串和排列组合长度生成所有可能的排列组合,感兴趣的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
/**
* 排列组合生成
*
* @param
* @arrange (512.笔记) www.q1010.com
**/
function permutations($letters,$num){
$last = str_repeat($letters{0},$num);
$result = array();
while($last != str_repeat(lastchar($letters),$num)){
$result[] = $last;
$last = char_add($letters,$last,$num-1);
}
$result[] = $last;
return $result;
}
function char_add($digits,$string,$char){
if($string{$char} <> lastchar($digits)){
$string{$char} = $digits{strpos($digits,$string{$char})+1};
return $string;
}else{
$string = changeall($string,$digits{0},$char);
return char_add($digits,$string,$char-1);
}
}
function lastchar($string){
return $string{strlen($string)-1};
}
function changeall($string,$char,$start = 0,$end = 0){
if($end == 0) $end = strlen($string)-1;
for($i=$start;$i<=$end;$i++){
$string{$i} = $char;
}
return $string;
}
//{!--To use this Generator you can do something like this : --}
$Array=permutations("ABC",3);
for($i=0 ; $i < count($Array) ; $i++) {
echo "$i." . $Array[$i] . "<BR>";
}
/*** 代码来自四海网(www.q1010.com) ***/
本文来自:http://www.q1010.com/173/435-0.html
注:关于php 给定字符串和排列组合长度生成所有可能的排列组合的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:排列组合
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。