如何在php中增加完整的字符串?



如何在php中增加一个完整字符串。像abc应该转化为bcd。我试着

$i="abc";
$i++;
echo $i; //abd

但是它只增加最后一个字符

我搜索了很多这样的问题,但我没有找到任何解决方案。

您可能已经阅读过如何在PHP中增加像数字一样的字母?

但是,$i++只作用于单个字符。


所以要得到想要的输出,我们可以简单地:

  1. 使用str_split()
  2. 将字符串转换为数组
  3. 循环使用foreach(),改变,或者在我的情况下创建一个新的输出
    1. 使用++'Increase' char
<?php
$test = 'abc';
$output = '';
foreach (str_split($test) as $char) {
$output .= ++$char;
}
echo $output;

上面的代码将产生:

bcd

,你可以在这个在线演示中尝试。


更紧凑的解决方案包括

  • array_map作为循环
  • 一个简短的函数符号
  • implode()将数组缝合回字符串
<?php
$test = 'abc';
$result = implode(array_map(fn ($c) => ++$c, str_split($test)));
echo $result;

上网试试!

我们可以通过以下3个步骤做到这一点:

  1. 使用php的内置函数ord()将每个字符转换为无符号整数。
  2. 将此整数增加一(或其他数字)。
  3. 将其转换回字符(使用php的内置函数chr())
$test = 'abc';
$output = '';
foreach (str_split($test) as $char) {
$output .= chr(ord($char)+1);
}
echo $output;

看到演示

最新更新