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