【问题标题】:Generate all combinations of string in PHP [closed]在PHP中生成所有字符串组合[关闭]
【发布时间】:2017-03-15 15:01:45
【问题描述】:

我正在尝试使用 PHP 生成所有可能的字符串组合。我已经在这个网站上搜索了一段时间,试图找到正确的算法,但我似乎找不到正确的算法。更具体地说,如果我输入字符串“hi”,我希望它返回“hi”、“ih”、“h”、“i”。但我不希望它多次重复使用相同的字符。所以我不想要“hh”和“ii”。有这个算法吗?谢谢!

【问题讨论】:

  • 这个解决方案是您正在寻找的吗? stackoverflow.com/questions/361/…
  • 有限制吗?最大字符串长度是多少?
  • @JustOnUnderMillions 最大字符串长度可能在 5 个字符左右。
  • @Njinx 这不是代码编写服务。一旦您从链接的答案中实现逻辑,我们可以帮助您调试您的 php 代码,但实际上编写代码并不是人们在这里做的事情。
  • 欢迎来到stackoverflow,请访问stackoverflow.com/help/how-to-ask

标签: php string algorithm combinations permutation


【解决方案1】:

不要将此用于生产:

$string = implode('',array_unique(str_split('helpa')));
$i=0;
while($i++<50000){
   $coll[substr(str_shuffle($string),0,mt_rand(1,strlen($string)))]=true;
}
ksort($coll);
print '<pre>';
print_r(array_keys($coll));

在这里你可以测试你想得到什么。

在 10000 次迭代中,我从 5 个长度的字符串中获得了 325 个组合 (似乎所有可能的组合)

【讨论】:

    猜你喜欢
    • 2012-04-26
    • 1970-01-01
    • 2012-05-17
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    相关资源
    最近更新 更多