AからZまでのアルファベットを順番に出力するコードを紹介します。
PHPの特性なのか、「Z」まで出力しようとすると..YZまで出力してしまう対処法です。参考になれば幸いです。
AからZの大文字のアルファベットを出力する
AからZまでの大文字のアルファベットを順番に出力するなら、以下のようなコードになります。
1 2 3 4 5 |
<?php for($i = "A"; $i != "AA"; $i++) { echo $i. "\n"; } ?> |
もしくは、引数に与えた文字の文字コードを返す関数であるord()関数を使います。文字コードに変換されるので、出力するときに文字を返す関数、chr()関数で変換し直します。
1 2 3 4 5 |
<?php for($i = ord("A"); $i <= ord("Z"); $i++) { echo chr($i). "\n"; } ?> |
出力値
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
aからZのアルファベットはPHPでは一括で出力できない
ASCIIコードポイントを見ていただくと分かるかと思いますが、小文字のアルファベット「a」は97で、大文字のアルファベット「Z」は90なのでfor()文でコードを書くと混乱が生じてしまいます。
この場合は、先に小文字を出力し、次に大文字を出力するようにします。
1 2 3 4 5 6 7 8 |
<?php for($i = "a"; $i != "aa"; $i++) { echo $i. "\n"; } for($i = "A"; $i != "AA"; $i++) { echo $i. "\n"; } ?> |
出力値
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
現段階で小文字のaから大文字のZまでスマートに出力する方法が分からないのですが、もう少し調べてみようと思っています。(*'ω'*)