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值的最後一位
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章