Hi!
I tried to get answer on the general list, but I didn't get. I have a little example, which generate strange output.
$a = 0;
$b = 1;
if ($a = 1 && $b = 0) {
echo 'true ';
var_dump($a);
var_dump($b);
} else {
echo 'false ';
var_dump($a);
var_dump($b);
}
Runing this we get: "flase bool(false) int(0)"After the precedence table the first step should be evaluating the &&, and we get something like this: $a = false = 0, which should generate an error, while there isn't an "lvalue" on the left side of the =.
But doesn't this happen. It seems, that the evaluation of the first = came before evaluating the &&.
Can someone exactly explain how PHP process this condition?
THX in advance, Felho
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
