循环2个字母范围

时间:2014-09-05 14:13:50

标签: php combinatorics

我试图在所有可能的2个字母组合上实现循环。 像

这样的东西

foreach(range(aa,zz) as $i) {...}

我目前的解决方案是:

foreach (range(a, z) as $first) {
    foreach (range(a, z) as $second) {
        //all 2 letter combinations
        echo $first.$second;
    }
}

这让我担心,如果我需要所有可能的10个字母组合,那么将涉及10个循环。

有没有更好的方法来实现这一目标?

2 个答案:

答案 0 :(得分:1)

您可以使用简单的for循环遍历字母:

for ($letter = 'aa'; $letter != 'aaa'; ++$letter) {
  echo $letter . '<br>';
}

输出:

aa
ab
...
zy
zz

答案 1 :(得分:0)

$a = array(1,2,3,4,5,6,7,8,9,0);
$b = array('q','r','s','t','u','v','w','x','y','z');
for($i = 26;$i <= 1000;$i++)
    echo str_replace($a,$b,base_convert ( $i, 10 , 26))."<br />";

只需输入正确的起点和终点。