Re: When is "z" != "z" ?
| From: | tg-php at gryffyndevelopment dot com | Date: | Mon, 05 Jun 2006 16:21:08 +0000 |
| Subject: | Re: When is "z" != "z" ? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-237410@lists.php.net to get a copy of this message | ||
I know this discussion doesn't need to continue any further..hah.. but I think the biggest
confusion people are having is that they're looking at two things and assuming that PHP
operates the same on both and these two things serve different purposes.
1. Incrementing strings: Best example giving was "File1"++ == "File2" or
"FileA"++ == "FileB". In that case, wouldn't you want it to go from FileZ
to FileAA? Makes sense right?
2. Comparing "greatness" of strings: Rasmus mentioned this earlier, but I wante to
illustrate it a little more because I think it was overlooked. If you have a list of names, for
instance, and you alphabetize them, you'd get something like this:
Bob
Brendan
Burt
Frank
Fred
Just become a name is longer doesn't mean it comes after the rest of the names in the list. So
in that vane, anything starting in "A" will never be > something starting with a
"Z". a < z aa < z aaa < z because:
a
aa
aaa
z
When using interation and a for loop and " <= z" it gets to "y" and it's
true, gets to "z" and it's still true, then increments to "az" and yup..
still < "z". As mentioned, it's not until you get to something starting in
"z" with something after it that you're > "z".
So hopefully that makes a little more sense.
-TG
= = = Original message = = =
tedd wrote:
> At 1:09 PM -0700 6/4/06, Rasmus Lerdorf wrote:
>>> I agree with [1] and [2], but [3] is where we part company. You see, if you are right,
>>> then "aaa" would also be less than "z", but that doesn't appear so.
>> Of course it is.
>>
>> php -r 'echo "aaa" < "z";'
>> 1
>
> You missed the point, why does --
>
> for ($i="a"; $i<="z"; $i++)
>
> echo($i);
>
>
> -- not continue past "aaa"? Clearly, if "aaa" is less than "z"
> then why does the loop stop at "yz"?
I thought I explained that a few times. The sequence is:
a b c ... x y z aa ab ac ... yx yy yz za zb zc ... zy zx zz aaa aab
Your loop stops at yz and doesn't get anywhere near aaa because za > z
-Rasmus
___________________________________________________________
Sent by ePrompter, the premier email notification software.
Free download at http://www.ePrompter.com.