2015-08-27 29 views
0

我通过POST接收一个值。然后,我将收到的值(1,2,3,4,5)与我的代码中预先定义的变量进行比较。 是否有可能用FOR或其他方式来简化它而不改变代码的功能? 是的,我需要收到的值作为数字,并将其与变量(没有MYSQL)进行比较。替换largo如果,否则如果...其他与FOR或其他更紧凑的

我设置在每个测试的名称,如:$ VARNAME = “保罗”;

Here's什么I'm做的和我倒是想改变什么。 非常感谢

// from previous page with input name thenumber 
$thenumber = $_POST['thenumber']; 

$option1 = "1"; 
$option1 = "2"; 
$option1 = "3"; 
$option1 = "4"; 
$option1 = "5"; 
$option1 = "6"; 
... 
... 
More options 

if($thename == $option1) 
{ 
$varname = "Paul"; 
} 
else if ($thename == $option2) 
{ 
$varname = "Louie"; 
} 
else if ($thename == $option3) 
{ 
$varname = "Dimitri"; 
} 
... 
... 
... 

回答

1

这将是更清洁的使用switch做到这一点。
我不认为使用for循环将是一个好主意。

务必把break每种情况下结束了。
default的情况是当$thename不是这些情况下的数字。

switch ($thename) { 
    case 1: 
     $varname = "paul"; 
     break; 
    case 2: 
     $varname = "Louie"; 
     break; 
    case 3: 
     $varname = "Dimitri"; 
     break; 
    ... 
    default: 
     $varname = "default_name"; 
     break; 
} 
+0

这就是我在找的东西...切换上帝!非常感谢! – Tom