Another similar way, using an array (very simple to add tasks):
$tasks = array('ShowVersion','GetData','CreateImage'); if (@in_array($_REQUEST['Task'], $tasks)) { // add some error checking here (function_exists()) $$Task(); } else { // maybe run a default task here print "unknown task"; } Am using @ in case 'Task' doesn't exist at all, so no error will be seen (undefined variables create E_NOTICE level errors). Although you may want to check this before Task even reaches in_array(), with empty(). See also: http://www.php.net/error_reporting $$Task() is a variable function: http://uk.php.net/manual/functions.variable-functions.php And $_REQUEST is a PHP predefined/reserved variable that contains a mix of Get, Post and Cookie data. This may or may not be appropriate here: http://au.phpz.net/manual/language.variables.predefined.php On a sidenote (picky), consider making variables all lowercase. Also when printing a single var, no need to surround it with quotes. print $foo. Regards, Philip Olson On Fri, 31 May 2002, Christopher J. Crane wrote: > I like this piece of code. In fact, I convert all my scripts that use the > older If/Else code. What would happen if the "break; " wasn't used. Would > it just continue through the rest of the function to find another match??? > > "Miguel Cruz" <[EMAIL PROTECTED]> wrote in message > [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > > On Thu, 30 May 2002, Crane, Christopher wrote: > > > if ($Task == "ShowVersion") { function ShowVersion(); } > > > elseif ($Task == "GetData") { function GetData(); print "$DataOutput"; } > > > elseif ($Task == "CreateImage") { function CreateImage(); } > > > else { print "Incorrect Variable or no Variable Supplies<br>"; } > > > > if (isset($Task)) > > { > > switch($Task) > > { > > case 'ShowVersion': > > ShowVersion(); > > break; > > case 'GetData': > > GetData; > > print $DataOutput; > > break; > > case 'CreateImage': > > CreateImage(); > > break; > > default: > > print 'Unknown function'; > > } > > } else { > > print 'No function supplied'; > > } > > > > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php