At 07:10 AM 11/16/2012, Omar Muhsin wrote:
Hello,
I was just wondering after writting the code in version 2 here
below, it turns out in testing that it actually PHP is not
validating the expressions instead always I get the first case.
1.Using nested if statement {THE INTENDED BEHAVIOR}:
if ($count > 14)
$boxes = 3;
elseif($count > 7 && $count <= 14)
$boxes = 2;
else
$boxes = 1;
2. Using Switch {ALWAYS FIRST CASE!!!}
// $boxes = 1;
// switch ($count) {
// case ($count > 14):
// $boxes = 3;
// break;
// case ($count > 7 && $count <= 14):
// $boxes = 2;
// break;
// case ($count <= 7):
// default :
// $boxes = 1;
// break;
// }
For the switch statement to work, you need to use "switch (true)"
$boxes = 1;
switch (true) {
case ($count > 14):
$boxes = 3;
break;
case ($count > 7 && $count <= 14):
$boxes = 2;
break;
case ($count <= 7):
default :
$boxes = 1;
break;
}
BTW, you don't need the "break" statement at the end of the last case
and you don't really need the "case ($count <= 7)" since that
condition is what remains anyway.
Ken
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php