AFAIK the problem reported comes from that $x is on the left but "foo" is on the right.
so you convert "foo" to int, and because there is not digit in "foo" it is 0.
<?php
$a="4some";
$b=$a+2;
var_dump($b);
?>
int(6)

<?php
$x=0;
if ($x=="foo") echo "foobar";
?>
<?php
$x=1;
if ("foo"==$x) echo "fubar"; // same with ===
?>
Output:
foobar

"foo" evaluates as 0 in the comparison.

Andrey


----- Original Message -----
From: "Rudolf Visagie" <[EMAIL PROTECTED]>
To: "Alexander Skwar" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, March 19, 2002 1:01 PM
Subject: RE: [PHP] Please explain...


For interest's sake the following code:

$x = 0;
if ($x == "foo") {
echo "This is an integer comparison with foo being ".$x."<br>";
}
$y = true;
if ($y == "foo") {
echo "This is a boolean comparison with foo being ".$y."<br>";
}

prints:

This is an integer comparison with foo being 0
This is a boolean comparison with foo being 1

Cheers

-----Original Message-----
From: Alexander Skwar [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, March 19, 2002 12:51 PM
To: Rudolf Visagie
Cc: Jan Rademaker; [EMAIL PROTECTED]
Subject: Re: [PHP] Please explain...


ğRudolf VisagieĞ sagte am 2002-03-19 um 12:19:04 +0200 :
> I would guess that the string "foo" evaluates to integer 0 in the
comparison

Hmm, shouldn't a filled string ("foo") evaluate to TRUE, ie. to 1?

Alexander Skwar
--
How to quote: http://learn.to/quote (german) http://quote.6x.to (english)
Homepage: http://www.iso-top.de      |     Jabber: [EMAIL PROTECTED]
   iso-top.de - Die günstige Art an Linux Distributionen zu kommen
                       Uptime: 1 day 23 hours 44 minutes

--
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