2011-10-07 29 views
6

¿hay alguna manera de php's SWITCH pero con 2 valores? Esto es lo que estoy buscandoConmutador PHP con 2 valores

switch(a, b){ 
    case 1,2: some code... ; break; 
    case 3,4: some code... ; break; 
    case 3,6: some code... ; break; 
    case 5,2: some code... ; break; 
    case 1,3: some code... ; break; 
    case 8,5: some code... ; break; 
} 

Sé que esto no funcionará, entonces, ¿cómo podría hacer algo en esta línea?

Respuesta

12

Se podría utilizar un array con 2 elementos ya == comparación comprueba los valores de la matriz:

$a = 3; 
$b = 6; 

switch([$a, $b]){ 
    case [1, 2]: echo '1'; break; 
    case [3, 4]: echo '2'; break; 
    case [3, 6]: echo '3'; break; 
    case [5, 2]: echo '4'; break; 
    case [1, 3]: echo '5'; break; 
    case [8, 5]: echo '6'; break; 
} 

salidas 3 .

+0

Perfecto, tiene sentido. Gracias por esto. – dotty

+0

De nada :) – Paulpro

2

Usted podría utilizar alguna cadena en lugar si no es procesado pesada:

$variable= "1,2"; 

switch($variable){ 
    case "1,2": some code... ; break; 
    case "3,4": some code... ; break; 
    case "3,6": some code... ; break; 
    case "5,2": some code... ; break; 
    case "1,3": some code... ; break; 
    case "8,5": some code... ; break; 
} 
+0

¡solución no tan buena! –

+0

@wes: Sí, la respuesta de PaulPRO es más precisa. La mía era solo otra posibilidad que compartí :) –

+0

Esta no era la mejor solución, sin embargo funcionaría. Por lo tanto, voto de mi parte. – dotty

Cuestiones relacionadas