我正在尝试使用PHP自动递增来生成英语字母而不是数字。我知道如何为数字自动递增:
for ($i = 0; $i <= 2; $i++) { echo $i; }
但是我想要一种方法,我可以生成ABC而不是123。
goucqfw61#
您可以使用chr函数与ASCII代码一起生成它们对于大写:
chr
for ($i = 65; $i <= 90; $i++) { echo chr($i) . PHP_EOL; }
对于小写:
for ($i = 97; $i <= 122; $i++) { echo chr($i) . PHP_EOL; }
以下是ASCII码的完整列表:https://www.ascii-code.com/
ct3nt3jp2#
只要得到A的ascii码然后循环26
<?php $a_is = ord('A'); for ( $ch=$a_is; $ch<$a_is+26; $ch++ ) { echo chr($ch) . PHP_EOL ; }
或设置字符计数
<?php $a_is = ord('A'); $stop = 5; for ( $ch=$a_is; $ch<$a_is+$stop; $ch++ ) { echo chr($ch) . PHP_EOL ; }
pgky5nke3#
你可以像比较数字一样比较和递增字符串,只需要改变循环的初始化和退出条件:
for($i='A'; $i<='C'; $i++) { echo $i, PHP_EOL; }
A类BC级参见https://eval.in/974692
kuuvgm7e4#
一个选项是使用range并使用foreach进行循环。
range
foreach
$letters = range("A","C"); foreach( $letters as $letter ) { echo $letter . "<br />"; }
这将导致:
A B C
pxiryf3j5#
你可以像这样创建一个字母数组,然后使用forloop的索引来循环遍历它们。
$letters = array('a','b','c'); for($i=0;$i<=2;$i++) { echo $letters[$i]; }
8xiog9wr6#
与上面类似,你可以设置一个变量为$x =“abcdefg...”和echo substr($x,$i,1)。当它达到27时,你需要将$i重置为1。
6条答案
按热度按时间goucqfw61#
您可以使用
chr
函数与ASCII代码一起生成它们对于大写:
对于小写:
以下是ASCII码的完整列表:https://www.ascii-code.com/
ct3nt3jp2#
只要得到A的ascii码然后循环26
或设置字符计数
pgky5nke3#
你可以像比较数字一样比较和递增字符串,只需要改变循环的初始化和退出条件:
A类
B
C级
参见https://eval.in/974692
kuuvgm7e4#
一个选项是使用
range
并使用foreach
进行循环。这将导致:
pxiryf3j5#
你可以像这样创建一个字母数组,然后使用forloop的索引来循环遍历它们。
8xiog9wr6#
与上面类似,你可以设置一个变量为$x =“abcdefg...”和echo substr($x,$i,1)。当它达到27时,你需要将$i重置为1。