2017-10-19 70 views
0

以下是原始代码中使用怎样的if else嵌套

else if ($sensor['result_type'] == 'logic') 
{ 
    if($param_value == 1) 
    { 
     $result['value'] = $param_value; 
     $result['value_full'] = $sensor['text_1']; 
    } 
    else 
    { 
     $result['value'] = $param_value; 
     $result['value_full'] = $sensor['text_0']; 
    } 
} 

else if ($sensor['result_type'] == 'value') 
{ 

我想增加的结果,6文本结果

所以根据传感器的输出会选择正确的结果 是传感器结果值= 0完整的结果= text_0 并以此类推,直到_text_6

我希望这是有道理的

回答

1

您可以通过电子邮件mbed的$param_value的键名,你在$sensor使用:

$result['value'] = $param_value; 
$result['value_full'] = $sensor["text_$param_value"]; 

...所以没有if ($param_value === 1) ... else if ($param_value === 2) ....

+0

良好的解码。 :) – Barmar

0

你可以在这里使用一个开关,这样

switch ($param_value) { 
    case 1: 
     $result['value'] = $param_value; 
     $result['value_full'] = $sensor['text_1']; 
     break; 
    case 2: 
     $result['value'] = $param_value; 
     $result['value_full'] = $sensor['text_2']; 
     break; 
} 

我不知道,如果这是你正在寻找的东西,但是你的问题并不确定。

你也可以做一个写得不好的问题,以下

$result['value'] = $param_value; 
$result['value_full'] = $sensor['text_' + (string)$param_value];