2011-10-07 9 views
6

c'è un modo per il php SWITCH ma con 2 valori? Ecco cosa sto cercandoSwitch PHP con 2 valori

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

So che questo non funzionerà, quindi come faccio a fare qualcosa in questo senso?

risposta

12

Si potrebbe usare una matrice di 2 elementi dal == comparatore controlla i valori di matrice:

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

uscite 3 .

+0

Perfetto, ha un senso. Grazie per questo. – dotty

+0

Prego :) – Paulpro

2

Si potrebbe utilizzare una stringa invece se non è elaborazione pesante:

$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

soluzione non così buona! –

+0

@wes: Sì, trovo la risposta di PaulPRO più accurata. Il mio era solo un'altra possibilità che ho condiviso :) –

+0

Questa non era la soluzione migliore, tuttavia avrebbe funzionato. Quindi, upvote da me. – dotty