C'est le genre de chose qui était auparavant traité par les opérateurs au niveau du bit:
if (($var1 << 2) & ($var2 << 1) & $var3) == 4) ...
... retour quand « vrai » était 1.
Cela étant dit, ce qui précède est concis, mais c'est assez difficile à lire et à maintenir. Néanmoins, si vous avez beaucoup de déclarations similaires, décalage/ANDing pourrait être un moyen d'aller à faire avancer les choses sous contrôle:
switch (($var1 << 2) & ($var2 << 1) & $var3)) {
case 0: // false, false, false
...stuff...
case 1: // false, false, true
...different stuff...
// all 8 cases if you REALLY care
}
Juste un conseil: Certains commutateur d'utilisation pour la recherche de données simple, mais pour que les tableaux sont mieux . – OIS