Jump to content

question about php operator


lukelee

Recommended Posts

The distributive property is only valid in algebra, not in programming logic - http://www.icoachmath.com/SiteMap/DistributiveProperty.html

 

It's as valid in programming, as it is in algebra.

$a && ($b || $c) == ($a && $b) || ($a && $c)

 

But!

 

$filesize3 && $filesize4 == 0 is not the same as ($filesize3 == 0) && ($filesize4 == 0) and I believe lukelee is after the second one.

 

$filesize3 && $filesize4 == 0 first evaluates $filesize3 && $filesize4 and then compares the result to 0

 

The distributive property is only valid in algebra, not in programming logic - http://www.icoachmath.com/SiteMap/DistributiveProperty.html

 

It's as valid in programming, as it is in algebra.

$a && ($b || $c) == ($a && $b) || ($a && $c)

 

But!

 

$filesize3 && $filesize4 == 0 is not the same as ($filesize3 == 0) && ($filesize4 == 0) and I believe lukelee is after the second one.

 

$filesize3 && $filesize4 == 0 first evaluates $filesize3 && $filesize4 and then compares the result to 0

 

 

the second one is to compare$filesize3 and $filesize4, does that mean $filesize3 == $filesize4?

$filesize3 && $filesize4 == 0 first evaluates $filesize3 && $filesize4 and then compares the result to 0

 

Not quite. The == operator has a higher precedence than the && operator. Therefore, $filesize3 would first be evaluated, then $filesize4 == 0 would be evaluated assuming $filesize3 is true, owing to shortcut evaluation.

Not quite. The == operator has a higher precedence than the && operator. Therefore, $filesize3 would first be evaluated, then $filesize4 == 0 would be evaluated assuming $filesize3 is true, owing to shortcut evaluation.

 

That's why I overuse () in conditions :P

 

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.