Re: Switch - Case Statement Questions
| From: | Jim Giner | Date: | Sat, 17 Nov 2012 01:00:58 +0000 |
| Subject: | Re: Switch - Case Statement Questions | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-319717@lists.php.net to get a copy of this message | ||
On 11/16/2012 12:38 PM, Tim Streater wrote:
On 16 Nov 2012 at 12:10, Omar Muhsin <mrfroasty@gmail.com> wrote:switch($var){ case (value): (do something) case (other value): (do something else) } IN your example, you are using a switch syntax that is nothing like that. I think that your "case " statements are not actually evaluating the value of $count, but are themselves evaluating to a true value that has nothing to do with $count. Here's the manual reference: http://us.php.net/manual/en/control-structures.switch.phpHello, 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}:You don't need the count<=14 part as you will *only* get there if $count<=14.if ($count > 14) $boxes = 3; elseif($count > 7 && $count <= 14)As has been pointed out you need switch(true). That's a strange way of writing a switch, IMO. You should be using the if version. -- Cheers -- Tim Maybe I'm way out of touch, but when I look at php.net for the syntax of the switch statement I see:$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; // }Does anyone know the answer why using the Switch it always execute the first case ?