PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
Moderator: General Moderators
UndoUndo
Forum Newbie
Posts: 6 Joined: Wed Oct 05, 2005 2:31 pm
Post
by UndoUndo » Mon Oct 17, 2005 9:16 am
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;
}
Last edited by
UndoUndo on Tue Oct 18, 2005 4:22 am, edited 1 time in total.
UndoUndo
Forum Newbie
Posts: 6 Joined: Wed Oct 05, 2005 2:31 pm
Post
by UndoUndo » Mon Oct 17, 2005 9:17 am
// oops typo!!
Code: Select all
switch($fruit){
case 'apple','banana':
// do this
break;
case 'melon':
// do this
break;
}
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098 Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia
Post
by Chris Corbyn » Mon Oct 17, 2005 9:38 am
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;
}
UndoUndo
Forum Newbie
Posts: 6 Joined: Wed Oct 05, 2005 2:31 pm
Post
by UndoUndo » Mon Oct 17, 2005 9:44 am
nice thinking, i'll give it a go
chrys
Forum Contributor
Posts: 118 Joined: Tue Oct 04, 2005 9:41 am
Location: West Roxbury, MA (Boston)
Post
by chrys » Mon Oct 17, 2005 3:12 pm
To answer the question, I'm pretty sure you can do case 1,2:
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098 Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia
Post
by Chris Corbyn » Mon Oct 17, 2005 5:59 pm
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$
chrys
Forum Contributor
Posts: 118 Joined: Tue Oct 04, 2005 9:41 am
Location: West Roxbury, MA (Boston)
Post
by chrys » Mon Oct 17, 2005 6:14 pm
Hmm, I know there's a way!