On Sat, 2003-06-28 at 11:28, Bobby Patel wrote:
> In PHP there are two operators for comparisons, the double and triple
> equivalance.
> 
> Double equivalance just check's the boolean type so if (0 == 'n') is
> translated to if (False == False), where as triple equivalance checks the
> data types as well so if (0==='n') becomes if (Int(False)==String(False))
> but since the data types don't match that would be False.
> 
> to get a better reference check PHP.net for 'Bolean Types' , because  I
> think I dodn't explain the double equivalance right, and also it will
> clarify situations of the Null type.
> 
> Bobby

You got pretty close, but not quite. :) In the case of the equality
operator '==', there is nothing specific to do with boolean evaluation 
going on. It just converts the string to its integer value implicitly
before checking for equality, and according to the string->integer
conversion rules, the string ends up being (int) 0 so the whole thing
matches.

Also, it might be easier to think about the identical operator '===' as
just testing whether two values are identical, meaning that they are
both of the same type, and that they both have the same value.

More information:

http://www.php.net/manual/en/language.types.type-juggling.php
http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion

...in fact, the whole 'Language' section of the manual has a bunch of
stuff on this.


Hope this helps,

Torben

-- 
 Torben Wilson <[EMAIL PROTECTED]>                        +1.604.709.0506
 http://www.thebuttlesschaps.com          http://www.inflatableeye.com
 http://www.hybrid17.com                  http://www.themainonmain.com
 -----==== Boycott Starbucks!  http://www.haidabuckscafe.com ====-----




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

Reply via email to