On Thursday 03 January 2013 11:33:22 Marc Guay wrote: > > First, did the original poster realize that he was assigning a value > > to the variable $a in the 'if' statement? > > Hello, > > Yes, I did, and if you read my responses you can see that I came to > the realisations you describe. I don't think that anyone suggested > there was a bug. > > > $a is true (ie it is not set to a 'false' value, > > whatever PHP uses for false) and $b is "bar" because that is what it > > is set to. Since the evaluation is within a bracket, the interior > > values ($a, $b) are set BEFORE the if condition is evaluated. > > Regarding this I'm a bit confused. In the case of an OR operator, $b > is not "bar" because it follows the "true" path as you said earlier. > Probably just a glitch in the English language. I'll file a bug for > that. > > Marc Hi Marc: I'm not at all sure of that. There are two things happening in parallel here: first the interior of the brackets is evaluated as necessary, in this case the $a is set to "foo" and the $b is set to "bar". Then the exterior part of the statement is evaluated: if ($a..... ). It is this last operation that results in the path selection through the code, and in this case $a is "true", $b is not evaluated. ....mind you I'm basing this on my university basic programming course from almost 50 years ago :-) Regards, John -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php