>>Good afternoon.  I'm having trouble getting PHP to loop from A
>>through Z.  Here is what I tried, coming from a C background:
>>
>>for ($l = "A"; $l <= "Z"; $l++)
>>      echo $l;
>>
>>// Returns A, B, C, ..., X, Y, Z, AA, AB, AC, AD, AE, ... YX, YY, YZ. 
(26 * 26 results!)
>>
>>Interestingly, if I make it a "less than" operation instead of "less
than or equal to", it works correctly (except for the Z):
>>
>>for ($l = "A"; $l < "Z"; $l++)
>>      echo $l;
>>
>>// Returns A, B, C, ..., W, X, Y  (25 results)
>>
>>Anyone know why PHP would do that?
>>
>>Richard
>

>From the PHP docs:

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.

-Jim

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to