Sorry missed to post list as well
Hi Daniel,
here is wild goose
i assume you have 3 x =
in your "problem" formulation
which could possibly result in the akward standard C mixup;
the rightmost = first parsed and resulting in an ASSIGMENT to the variable
with that value,
the comes the parsing of == which is the equivalence test, and see; the
variable is
the same since it was just assigned that value; if this theory is correct
you would
get TRUE regardless what number is following :)
/g
----- Original Message -----
From: "BUSCHKE Daniel" <Daniel.BUSCHKE@xxxxxxxxxxxxx>
To: <php-general@xxxxxxxxxxxxx>
Sent: Thursday, June 13, 2013 9:59 AM
Subject: PHP is Zero
Hi all,
I want to start a discussion about a PHP behaviour that drives me crazy
for years. For the beginning I would like you to guess what the result of
the following snippet will be:
var_dump('PHP' == 0);
I know the difference of == and === but the result was unexcpected for
me. And I hope it is also for you. The result is simply "true". Why is it
true? I guess this happens because of the conversion from 'PHP' to a
number which will be 0 in PHP. And of course 0 equals 0. There are
several points that I just want to drop into this mailinglist to discuss
about:
1. Why? :)
2. Why is PHP converting the String into a Number instead of converting
the Number into a String? (If my guess concerning the behaviour is
correct)
3. Why is PHP throwing data away which has the developer explicit given
to the interpreter?
4. Why does var_dump(0 == 'PHP'); has the same result as the snippet
above? This meens that the equal operator is not explictly implemented in
the string or integer?
5. Thats a bug I have opend: https://bugs.php.net/bug.php?id=51739 where
I also had the same problems because "8315e839da08e2a7afe6dd12ec58245d"
was converted into float(INF) by throwing everything starting from
"da08.." away.
I am using PHP since the year 2000. This means I have 13 years of
experience in PHP and I really would like you to NOT just answer "works
as designed". I know it works as designed but I want to discuss the
design. Also I know that the "fuzzy" behaviour of type conversion is a
main feature of PHP. I guess this is one point which makes PHP that
successfull. But - in my opinion - the described behaviour is to fuzzy
and just confuses developers.
Best Regards
Daniel Buschke
--
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