如何列出和计算字符串中所有可能的组合?

时间:2012-09-28 18:46:41

标签: php math

  

可能重复:
  PHP: How to get all possible combinations of 1D array?
  Generate all possible combinations using a set of strings

$s = 'A,B,C';

给定一组字符串,您如何计算可能的字符串 AAA BBB CCC ABC ACB BCA 等?

3 个答案:

答案 0 :(得分:0)

在c ++中将是:

do{
cout << s << endl;
}while(next_permutation(s,s+s.size());

所以只需完成所有排列。

答案 1 :(得分:0)

查找或编写包含数组递归循环的函数。这应该会返回一个包含所有可能组合的数组。

答案 2 :(得分:0)

$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全局变量来将它们从参数列表中排除