$b = 'a'++;
我想知道的是从语言的角度来看为什么行得通? PHP是否将字符解释为ASCII值,所以增加它只会使ASCII值高1,这将是字母表中的下一个字母?
解决方法:
查看此:http://php.net/manual/en/language.operators.increment.php
PHP follows Perl’s convention when dealing with arithmetic operations on character variables and not C’s.
For example, in PHP and Perl $a = ‘Z’; $a++; turns $a into ‘AA’, while in C a = ‘Z’; a++; turns a into ‘[‘ (ASCII value of ‘Z’ is 90, ASCII value of ‘[‘ is 91).
Note that character variables can be incremented but not decremented and even so only plain ASCII alphabets and digits (a-z, A-Z and 0-9) are supported. Incrementing/decrementing other character variables has no effect, the original string is unchanged.