PHP では、for
ループを実行します。
A0
からループできますかZ9
...単純なforループは次のようなものです
for ($i = 0; $i <= 9; $i += 1) {
// do things
}
しかし、どのようにアルファベットを追加するのでしょうか?
PHP では、for
ループを実行します。
A0
からループできますかZ9
...単純なforループは次のようなものです
for ($i = 0; $i <= 9; $i += 1) {
// do things
}
しかし、どのようにアルファベットを追加するのでしょうか?
使用できますchr
:
for ($letter = ord('a'); $letter <= ord('z'); ++$letter) {
for ($number = 0; $number <= 9; ++$number) {
echo chr($letter) . $number;
}
}
これを行う別の方法があります。これにより、文字の順序を変更したり、他の記号を追加したりできます。
$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);
エンコーディングを忘れないでください ;)
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";
}
}
undefined と janenz00 からの回答を組み合わせると、次のことができます。
for ($i = "A"; $i < "Z"; $i++) {
for($j = 0; $j < 10; $j++) {
// Do things like echo $i . $j
}
}
もちろん、これはA0
にA9
、次にB0
にB9
、 までずっとループしたい場合に機能Z0
しZ9
ます。
foreachを使用して、文字を配列にマップし、配列をループする必要があると思います
答えによって:
<?php
for ($i = "A00"; $i <= "Z99"; $i++){
print $i;
print "<br>";
}
?>
A00 から Z99 まで出力されます。これは非常に優れています。
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;
}
}