Operator Precedence
| From: | Andrew Sitnikov | Date: | Fri, 10 May 2002 17:27:04 +0000 |
| Subject: | Operator Precedence | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-83884@lists.php.net to get a copy of this message | ||
Hello php-dev,
Why & How this code will work?
<?
function foo($flag)
{
return $flag;
}
$a=TRUE;
echo "if (!\$a = foo(FALSE))) is ";
if (!$a = foo(FALSE))
echo "true";
else
echo "false";
echo "\n";
var_dump($a);
echo "\n";
?>
Output:
if (!$a = foo(FALSE))) is true
bool(false)
http://www.php.net/manual/en/language.operators.php
"Operator Precedence"
! has more precedence than =
And after ! we must have boolean constant in left side:
FALSE = foo()
Explain to me pls that I do not understand
P.S. in C & Perl (!$a = foo()) is not valid expression
Best regards,
Andrew Sitnikov
e-mail : sitnikov@infonet.ee
GSM: (+372) 56491109