Page 1 of 1
Multi strings in Switch case [solved]
Posted: Mon Oct 17, 2005 9:16 am
by UndoUndo
is it possible to have multpiple strings in a switch case?
i.e
Code: Select all
switch($fruit){
case 'apple','banana':
// do this
break;
case 'melon':
case 'apple','banana':
// do this
break;
}
Posted: Mon Oct 17, 2005 9:17 am
by UndoUndo
// oops typo!!
Code: Select all
switch($fruit){
case 'apple','banana':
// do this
break;
case 'melon':
// do this
break;
}
Posted: Mon Oct 17, 2005 9:38 am
by Chris Corbyn
I always think this works (and looks) nice....
Code: Select all
switch($fruit){
case 'apple':
// do nothing yet but don't break
case 'banana':
//do this
break;
case 'melon':
// do this
break;
}
Posted: Mon Oct 17, 2005 9:44 am
by UndoUndo
nice thinking, i'll give it a go

Posted: Mon Oct 17, 2005 3:12 pm
by chrys
To answer the question, I'm pretty sure you can do case 1,2:
Posted: Mon Oct 17, 2005 5:59 pm
by Chris Corbyn
Parse error: parse error, unexpected ',' in /home/d11wtq/foo.php on line 25
Looks like not in PHP5 at least
The other way works though....
Code: Select all
function cascaded($x)
{
switch($x)
{
case 0:
case 1:
case 3:
echo "Multiple\n";
break;
case 2:
echo "Single\n";
break;
default:
echo "Default\n";
break;
}
}
echo '0 => '; cascaded(0);
echo '1 => '; cascaded(1);
echo '2 => '; cascaded(2);
echo '3 => '; cascaded(3);
Gives
Code: Select all
bash-2.05b$ php foo.php
0 => Multiple
1 => Multiple
2 => Single
3 => Multiple
bash-2.05b$
Posted: Mon Oct 17, 2005 6:14 pm
by chrys
Hmm, I know there's a way!
