-1

在 PHP 中,做一个for循环。

你能从A0到循环Z9吗...我知道一个简单的 for 循环就像

for ($i = 0; $i <= 9; $i += 1) {
// do things
}

但是它将如何添加到字母表中?

4

6 回答 6

3

您可以使用chr

for ($letter = ord('a'); $letter <= ord('z'); ++$letter) {
    for ($number = 0; $number <= 9; ++$number) {
        echo chr($letter) . $number;
    }
}
于 2012-10-10T01:15:35.820 回答
2

这是另一种方法,它允许您更改字母的顺序或添加其他符号。

$alphabet = str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ', 1);
for ($index = 0; $index <= 9; $index += 1)
{
    for ($letter = 0; $letter <= count($alphabet) - 1; $letter++)
    {
        // do things
        echo $alphabet[$letter].$index;
    }
}

您可能想要更改符号的一个示例是您想要另一种语言的字母表。说...西班牙语?

$alphabet = str_split('ABCDEFGHIJKLMNÑOPQRSTUVWXYZ', 1);

不要忘记你的编码;)

于 2012-10-10T01:18:00.820 回答
2

您可以利用 ASCII (97-122) range () 函数和 chr () 函数,避免创建字符数组,例如:

$range = range(97, 122); # A to Z ascii chars

# loop 9 times
for ($i=1; $i <= 9; $i++) {
    printf("=========== loop %s\n", $i);
    foreach($range as $n) {
        print chr($n);
        print "\n";       
    }    
}
于 2012-10-10T01:34:25.767 回答
1

我认为您需要使用foreach将字符映射到数组中,循环遍历数组

通过答案:

<?php
    for ($i = "A00"; $i <= "Z99"; $i++){    
        print $i;
        print "<br>";
    }    
?>

将A00打印到Z99,非常好。

于 2012-10-10T01:13:07.030 回答
1
  for ($i = "A"; $i <= "Z"; $i++) {
       print $i;
   }

打印 AZ。

如果您真的想这样做,您可能必须引入一个介于 0-9 之间的内部循环。

 for ($i="A"; $i<"Z"; $i++) {
    for ($j=0; $j <=9; $j++) {
    print $i.$j;

  }

}
于 2012-10-10T01:16:42.637 回答
1

结合 undefined 和 janenz00 的答案,您可以这样做:

for ($i = "A"; $i < "Z"; $i++) {
  for($j = 0; $j < 10; $j++) {
     // Do things like echo $i . $j
  }
}

当然,如果你想循环A0A9,然后B0B9,一直到Z0到,这很有效Z9

于 2012-10-10T01:22:19.853 回答