Re: Boolean type forced on string assignment inside if statement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux