When you define $no, you define it without quotes, so PHP assumes it is a
numeral.  What you're asking in your conditional statement is:  Does the
numeral 0 equal the integer evaluation of "string".  The answer is True.

But when you put $no into quotes you cast it as a string.  Now what you're
asking is Does the string "0" equal the string "string".  The answer is
False.

-Kevin


----- Original Message -----
From: "Scott Hurring" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, December 13, 2002 12:27 PM
Subject: [PHP] Question about "if" statement evaluating (0=="string") as
TRUE


> Erm... this seems a bit odd to me.  I'm using PHPv4.2.2 on Win32
>
> Is that becuase PHP is not properly comparing the numerical value with
> the string value?
>
> <?
> $no = 0;
> if ($no == "string") {
>  print "this eval's to TRUE... since when is '0' == 'no' ?";
> }
> if ("$no" == "string") {
>  print "whereas this eval's to FALSE, as you'd expect";
> }
> ?>
>
>
>
> --
> Scott Hurring
> Systems Programmer
> EAC Corporation
> scott (*) eac.com
> --
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



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

Reply via email to