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
Advertising
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