PHP中$b = '1d9'; echo ++$b;结果为1e0,为什么?

本人参考:PHP 中「自增、自减」运算引发的奇怪问题 - 简书https://www.jianshu.com/p/d736607b1f0c

1.对于字符串(含有字母的【只含e字母的除外,这个是科学计数法对应float】)只能自增,且最后一位自增。

如果自增到对应的ASCII值“末端”,则进位,包括字母的进位。如:

<php?
$l = '1d7';//自增结果:1d8
$l = '1d9';//自增结果:1e0
$l = '1aa';//自增结果:1ab
$l = '1az';//自增结果:1ba
?>

最后一位加1,

  • 数字9为数字对应数字(0为第一位)ASCII值的最后一位
  • (小写)字母z为数字对应(小写)字母(a为第一位)ASCII值的最后一位
  • (大写)字母Z为数字对应(大写)字母(A为第一位)ASCII值的最后一位

猜你喜欢

转载自blog.csdn.net/lu12077/article/details/78996704