Este es el tipo de cosas que solía ser manejados por operadores de bits:
if (($var1 << 2) & ($var2 << 1) & $var3) == 4) ...
... volver al 'verdadero' era 1.
Dicho esto, lo anterior es conciso, pero es bastante difícil de leer y mantener. Sin embargo, si usted tiene una gran cantidad de declaraciones similares, cambiando/AND podría ser un camino a seguir para hacer las cosas bajo control:
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
}
Sólo un consejo: Algunos interruptor uso de simples operaciones de búsqueda de datos, pero para que las matrices son mejores . – OIS