php - 如何从 php 中的字符串创建可能的字符串组合?

标签 php string combinations

如何从 php 中的字符串创建可能的字符串组合

实验:

input = 'abc';
output = array(
  [0]=> "a"
  [1]=> "ab"
  [2]=> "abc"
  [3]=> "ac"
  [4]=> "acb"
  [5]=> "b"
  [6]=> "ba"
  [7]=> "bac"
  [8]=> "bc"
  [9]=> "bca"
  [10]=> "c"
  [11]=> "ca"
  [12]=> "cab"
  [13]=> "cb"
  [14]=> "cba"
)

求助,谢谢

最佳答案

Fasil kk 的代码可能会遇到“最大函数嵌套级别” fatal error ,

如果你有这个问题,试试这个:

$letters = str_split("abc");

$combos = $letters;
$lastres = $letters;
for ($i = 1; $i < count($letters); $i++) {
    $newres = array();
    foreach ($lastres as $r) {
        foreach ($letters as $let) {
            $newres[] = $r . $let;
        }
    }

    foreach ($newres as $w) {
        $combos[] = $w;
    }

    $lastres = $newres;
}

print_r($combos);

那么你只需要担心内存:)

关于php - 如何从 php 中的字符串创建可能的字符串组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16955978/

相关文章:

python - 在 pandas 数据框中使用 * 等效项查找并替换

java - 键盘组合 电话号码

php - 使用 PHP 和 apache (MAMP) 运行 wget

php - Sql汇总表或动态聚合

PHP 301 重定向 - 超过 3,000 个动态 URL

php - div 内容从网页底部剪裁

python - 如何加速字符串格式化?

java - GWT String.replace 不起作用

python - 生成第 k 个组合而不生成/迭代前一个

algorithm - 如何生成最多有 k 个的 n 位格雷码?