-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

undefined と janenz00 からの回答を組み合わせると、次のことができます。

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

もちろん、これはA0A9、次にB0B9、 までずっとループしたい場合に機能Z0Z9ます。

于 2012-10-10T01:22:19.853 に答える
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 に答える