Multiple cases for switch construct
Looking at the PHP documentation, it is not clear how to add multiple values for the same case in a switch construct. It seems that you should be able to do
PHP:
-
case ("whatever" || "something"):
-
//Do something;
-
break;
But, you can't. I tried, and it didn't work. Fortunately, after much searching, I found a way to do it; and it's not near as difficult as I was making it.
Let's look at this code:
PHP:
It works. If the value is either 2 or 3 it echoes out the same string. This takes advantage of not putting in the break; statement after the case 2: line.
The next step is to allow a range, and I'm still looking for that... If you have any thoughts, stick it in a comment :-)
Post Info
| Posted | Tuesday, December 28th, 2004 at 1:33 pm |
| Tags |
I’ve discovered the syntax which makes the multiple-construct work:
You simply omit the parenthesis, so that the case line reads eg:
case 1 || 2:
echo “foobar”;
and so on.
It seems that the range allows something like this:
case 1-3:
echo “foobar”;
The OR construct seems to work for me, but the range doesn’t.
After working around with the same question, I think I give some kind of explanations, a little different from the provious ones.
switch doesn’t act differently with strings.
This work fine:
case “A”:
case “B”:
case “C”:
case “D”:
$L = “ABCD”;
break;
case “E”:
case “F”:
case “G”:
case “H”:
$L = “EFGH”;
break;