PHP Manual states:
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).
If PHP converts the characters to ascii values (assuming) when dealing with arithmetic operations on characters, should it not print ‘[‘ instead of AA? Why and how does PHP increment characters the way it does?
Your assumption is false, since it treats
"0"and0as equal, instead of"0"and48.