Re: When is "z" != "z" ?

From: Date: Sun, 04 Jun 2006 18:38:04 +0000
Subject: Re: When is "z" != "z" ?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-237362@lists.php.net to get a copy of this message
2006/6/4, Rasmus Lerdorf <rasmus@lerdorf.com>:
tedd wrote: Hi gang: Here's your opportunity to pound me again for not knowing the basics of php. I vaguely remember something like this being discussed a while back, but can't find the reference. In any event, if one uses -- for ($i="a"; $i<"z"; $i++) { echo($i); } -- it stops at "y" But, if you use -- for ($i="a"; $i<="z"; $i++) { echo($i); } -- it prints considerably more characters after "z" than what one would normally expect -- why is that? Just stopping at "z" would seem to make more sense, wouldn't it? After all, when $i = "z" in the first expression, then wouldn't $i be equal to "z" in the second expression and thus halt the operation? What am I missing here? It's a bit of a quirk. "z"++ is "aa" and "aa" < "z". I would guess this would loop until until just before "za" which would be "yz".
What? "z"++ < "z" returns true? =S Is there a reason for this? Why aren't they handled like C chars? It's a bit like looping through the hexadecimal characters. You would
have the same effect. However instead of being base-16 with 0-9-a-f you have base-26 using a-z.
0xF++ would be 0x10 which is greater than 0xF (0xF < 0x10). It's not the same. -Rasmus
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.general (#237362) next »