A student asked a question:
Copy the code The code is as follows:
for($i = 'A'; $i <= 'Z'; $i++) {
echo $i;
}
What is the output?
The output is :
ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARAS...... Read the manual carefully:
PHP follows Perl's convention when dealing with arithmetic operations on character variables and not C's. For example, in Perl 'Z'+1 turns into 'AA', while in C 'Z'+ 1 turns into '[' ( ord('Z') == 90, ord('[') == 91 ). Note that character variables can be incremented but not decremented and even so only plain ASCII characters (a-z and A-Z) are supported.
When dealing with arithmetic operations on character variables, PHP follows Perl's habits instead of C's. For example, in Perl 'Z'+1 will get 'AA', while in C, 'Z'+1 will get '[' (ord('Z') == 90, ord('[') == 91). Note that character variables can only be incremented, not decremented, and only pure letters (a-z and A-Z) are supported.
That is, if:
Copy code
The code is as follows: $name = "laruence" ; ++$name; //will be "laruencf"
and:
Copy code
The code is as follows : $name = "laruence"; --$name; //No effect, still "laruence"
So, the reason for this problem is When $i = Z, ++$i becomes AA, and when comparing strings,
AA, BB, XX to YZ are all less than or equal to Z... so..
http://www.bkjia.com/PHPjc/322296.html
www.bkjia.com
truehttp: //www.bkjia.com/PHPjc/322296.htmlTechArticleA student asked a question: Copy the code as follows: ?php for($i = 'A'; $ i = 'Z'; $i++) { echo $i; } What is the output? The output is: ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAM...