将字符增加 1 步以上

问题描述 投票:0回答:3

在 php 中相对于其字母位置递增字符的工作方式如下:

$a = 'a'; 
++$a;
echo $a;

输出是'b'

但是,是否可以将位置增加倍数?例如 10。

$a = 'a'; 
$a += 2;
echo $a;

这输出一个整数,而不是“c”。

php string increment
3个回答
11
投票

您可以使用 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
,如这里所述。

希望这有帮助!


2
投票

我认为你可以像这样增加价值。

 $a = a;
  for ($n = 0; $n <= 10; $n++) {
    echo '<p>'.$a.'</p>';
    $a++;
  }

它输出这个

a

b

c

d

e

f

g

h

i

j

k

0
投票

我认为 php 不能那样做。你可以这样做:

$num = 10;
for($i=0;$i<$num;$i++){
  ++$a;
}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.