2017-10-19 3 views
0

est le code d'origineComment utiliser si d'autre imbriquée

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') 
{ 

Je Ci-dessous vous augmenter les résultats à 6 texte résultats

donc en fonction de la sortie du capteur, il choisira le bon résultat est résultat capteur valeur = 0 = résultat complet text_0 et ainsi de suite jusqu'à _text_6

J'espère que ce sens

Répondre

1

Vous pouvez envoyer mbed le $param_value au nom de la clé que vous utilisez dans $sensor:

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

... sans if ($param_value === 1) ... else if ($param_value === 2) ....

+0

Bon décodage d'une question mal écrite. :) – Barmar

0

Vous pouvez utiliser un commutateur ici, comme celui-ci

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; 
} 

Je ne sais pas si C'est ce que vous cherchez, mais n'était pas vraiment sûr par votre question.

Vous pouvez également effectuer les opérations suivantes

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