I'm pretty sure this is the right answer. If not, someone please correct me. PHP will compare the 0 against the integer represented by the string. So, for example, 0 == "0" would test true. 0 == "1" would test false. However, 'heading' doesn't represent a valid integer, so it appears on the right hand side as just 0, which is equal to the left hand side. James Daevid Vincent wrote: > Can someone explain why an integer 0 compared to a string evaluates to > boolean true?? > > var_dump( (0 == 'heading') ); > > Yet, > > var_dump( (1 == 'heading') ); > > Is FALSE. > > WTF? I would expect the 0 one to be FALSE too. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php