Instruction Switch > est possible d'inclure plusieurs cas correspond à un cas unique?
Je voudrais passer plusieurs valeurs dans un seul commutateur de cas. Je me rends compte ce n'est pas possible qu'ils façon dont je suis en train de le faire. Est-il un autre moyen, court de placer chaque cas en ligne?
switch(get_option('my_template'))
{
case 'test1', 'test2':
return 850;
break;
default:
return 950;
}
Quoi? Bien sûr, PHP n'a pas de caractéristiques de pointe telles que les langues comme Bash
OriginalL'auteur Scott B | 2011-04-08
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur racetrack
Dans l'interrupteur de la structure je ne crois qu'il existe un moyen de faire quelque chose comme un " ou " sur une seule ligne. ce serait la façon la plus simple:
Mais, surtout si vous êtes seulement de retourner une valeur et non pas l'exécution de code, je vous recommande de faire ce qui suit:
pouvez également utiliser ternaire si vous préférez la si/d'autre
return in_array($get_opt, $switchTable) ? $switchTable[$get_opt] : 950;
+1 Semble intéressant. Je vais lui donner un spin.
OriginalL'auteur jon_darkstar
Sauf si vous utilisez
break;
sur votre cas, l'exécution tombe juste dans le cas suivant. Vous pouvez l'utiliser à votre avantage grâce à l'empilement de chacun de vos cas, par exemple:Car il n'est pas
break;
sur le 'test1', lors de la fin de l'exécution de cette affaire (c'est à dire immédiatement, car il n'est pas logique), de contrôle, puis la chute de l' 'test2', qui prendra fin à sabreak
déclaration.Dans ce cas, le
break
n'est même pas nécessaire pour ces cas, depuis lereturn
déclaration de prendre soin de briser leswitch
sur son propre.OriginalL'auteur AgentConundrum
Je pense que c'est aussi proche que vous pouvez obtenir.
Édité avec correction.
OriginalL'auteur Horus
Comment à ce sujet
OriginalL'auteur Bang Dao