在 php 中相对于其字母位置递增字符的工作方式如下:
$a = 'a';
++$a;
echo $a;
输出是'b'
但是,是否可以将位置增加倍数?例如 10。
$a = 'a';
$a += 2;
echo $a;
这输出一个整数,而不是“c”。
您可以使用 ord() 将字符转换为其 ASCII 值,递增/递减该值,然后使用 chr() 将其转换回字符:
$a = 'a';
$num = 2;
$a = chr(ord($a)+$num);
echo $a;
// outputs c
ord- 返回字符的 ASCII 值
chr- 返回特定字符
如果您希望增量/减量环绕超过
z
的值,那么您可以使用以下命令:
$a = 'a';
$num = 28;
echo chr((26 + (ord($a)+$num-97)) % 26 + 97);
// outputs c
注意: 由于负数的 php 模数返回负数,这将不起作用或
$num
值< -26 alternative solution include using gmp_mod
,如这里所述。
希望这有帮助!
我认为你可以像这样增加价值。
$a = a;
for ($n = 0; $n <= 10; $n++) {
echo '<p>'.$a.'</p>';
$a++;
}
它输出这个
a
b
c
d
e
f
g
h
i
j
k
我认为 php 不能那样做。你可以这样做:
$num = 10;
for($i=0;$i<$num;$i++){
++$a;
}