Re: var_dump( (0 == 'heading') ) == TRUE ?!
| From: | James Colannino | Date: | Sat, 15 May 2010 03:33:24 +0000 |
| Subject: | Re: var_dump( (0 == 'heading') ) == TRUE ?! | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-305235@lists.php.net to get a copy of this message | ||
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.