-----Original Message----- From: Simon Schick [mailto:simonsimcity@xxxxxxxxxxxxxx] Sent: 29 March 2012 07:19 PM To: arno@xxxxxxxxxxxxxx Cc: php-general@xxxxxxxxxxxxx Subject: Re: Watch out for automatic type casting Hi, Arno FYI: I found a page in the php-manual that's exactly for that: http://www.php.net/manual/en/language.operators.precedence.php p.s. some of them were also new to me .... Thanks for getting me to read it. Bye Simon ---- Thanks Simon and others, thought it was typecasting, but precedence makes more sense. I remember seeing that table when I first started using php, which is why I always use AND and OR rather than && and || because it's lower precedence than the assignment and the ternary operators, but I couldn't remember where I'd seen it. So thanks for linking to it. Cheers Arno -- BTW interesting to note on that precedence page that "!" has a higher precedence than "=" (which you'd expect it to be) but you can still do if (!$a = foo()) I use that form often (as I'm sure many others do) and just took it for granted that it works even though the order of precedence says it shouldn't. It could be expanded to if ($a = foo() != TRUE) But that wouldn't get the expected result due to order of precedence, though at first glance you could reasonably expect it to work because of if (!$a = foo()) being valid. I think that's why it's so easy to be caught out (at least for me) by the similar form of if ( $pos = strpos($sText, "test") !== FALSE) Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php