On 05/07/2012 09:28 AM, Arvids Godjuks wrote: > Hello internals, > > I should voice my opinion that such things like comparing two strings > starting with numbers and that they resolve to actual integer/float for > comparation is bad, really bad. That just defies the logic and yealds > absolutly unexpected results. I pride myself that i know the juggling rules > well, but I'm shocked by this to say the least..
you have to see this in the "web context" where all input from a HTTP client arrives as strings without type information (and some database result data comes in as string data, too) In that context it perfectly makes sense that "1" == "1.0" returns true even if both operands are strings. "123ABF453..." == "123DFEABC..." is a different story though, and guess what? These are *not* considered equal, at least not by the 5.3.6 instance on the system i'm currently testing with: <?php $a = "123ABF453..."; //a password $b = "123DFEABC..."; //another one if ($a == $b){ echo "you're in"; } else { echo "no, you don't get in *that* easy!"; } ?> will print "no, you don't get in *that* easy!" just fine -- hartmut -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php