AdRock Posted August 5, 2010 Share Posted August 5, 2010 I have some code which i think is really inefficient especially as there will be more more conditions to be met. I was thinking about using s switch but don't know if this is possible or if it's best leaving as it is. Any ideas? if($parts[($i-1)]=="forum") { //do some code } else if($parts[($i-2)]=="forum") { //do code } else if (($parts[($i-1)]=="list-messages") && (isset($parts[($i+1)]))) { //do code } else { // do some code } Quote Link to comment https://forums.phpfreaks.com/topic/209892-can-i-make-this-more-efficient/ Share on other sites More sharing options...
JonnoTheDev Posted August 5, 2010 Share Posted August 5, 2010 Switch / Case is far cleaner than multiple conditional statements. Quote Link to comment https://forums.phpfreaks.com/topic/209892-can-i-make-this-more-efficient/#findComment-1095544 Share on other sites More sharing options...
AdRock Posted August 5, 2010 Author Share Posted August 5, 2010 I was thinking about switch/case but not sure what to put between the brackets of the switch Would i put switch($parts) and have nested switch i.e. switch($parts) { switch($i-1) { } switch($i-2) { } } Quote Link to comment https://forums.phpfreaks.com/topic/209892-can-i-make-this-more-efficient/#findComment-1095554 Share on other sites More sharing options...
JonnoTheDev Posted August 5, 2010 Share Posted August 5, 2010 More along the lines of <?php function doStuff($string) { switch($string) { case "forum": return "display forum"; break; case "list-messages": return "list all messages"; break; default: return "don't know what to do"; break; } } for($x = 0; $x < count($parts); $x++) { print doStuff($parts[$x]); } ?> Quote Link to comment https://forums.phpfreaks.com/topic/209892-can-i-make-this-more-efficient/#findComment-1095558 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.