$s = 'A,B,C';
给定一组字符串,你如何计算可能有 AAA BBB CCC ABC ACB BCA 等?
$s = 'A,B,C';
给定一组字符串,你如何计算可能有 AAA BBB CCC ABC ACB BCA 等?
在 c++ 中将是:
do{
cout << s << endl;
}while(next_permutation(s,s+s.size());
所以只需经历所有排列。
查找或编写包含对数组进行递归循环的函数。那应该为您返回一个包含所有可能组合的数组。
$s = explode($s,",")
function recursion($string, $depth, $maxdepth, $s)
{
if($depth == $maxdepth)
echo $string
else
{
for($i = 0;$i < sizeof($s); $i++)
{
recursion($string+$s[$i], $depth+1, $maxdepth, $s)
}
}
}
recursion("",0, sizeof($s), $s)
当然,您可以制作 $maxdepth 和 $s 全局变量以将它们从参数列表中排除