Luigi Arlotta
a- a+

Istruzioni Switch

Quando è necessario eseguire una serie di controllisulla stessa variabile, invece di scrivere una serie diif...elseif...elseif..., è possibile far usodell'istruzione switch, la cui sintassi èriportata di seguito:

 

switch (NomeVariabile) {case V1: Istruzione1;break;case V2: Istruzione2;break;...case VN: IstruzioneN;break;default: Istruzione;break;}

 

Dove NomeVariabile è la variabile su cui avvengonotutti i confronti, mentre V1, V2, V3 sono variabili ocostanti utilizzati per eseguire il confronto. Quandoun'operazione di confronto risulta soddisfattaverrà eseguita l'istruzione corrispondente. Senessuno dei confronti risulta verificato, viene eseguital'istruzione presente nel ramo default.

Supponendo ad esempio di voler confrontare il valore di unavariabile di tipo intero con una serie di costanti possiamoscrivere:

 

$var1=2;switch ($var) {case 1: echo ("Il valore di $var è: $var");break;case 2: echo ("Il valore di $var è: $var");break;case 5: echo ("Il valore di $var è: $var");break;default: echo ("Il valore di $var non è: ne' 1, ne' 2, ne' 5, ma $var");break;}?>

 

Lo stesso risultato si sarebbe ottenuto con una serie diif...else...else come segue:

 

$var1=2;if ($var==1)echo ("Il valore di $var è: 1");elseif ($var==2)echo ("Il valore di $var è: 2");elseif ($var==1)echo ("Il valore di $var è: 3");elseecho("Il valore di $IntVar non è: ne' 1, ne' 2, ne' 5, ma $var");?>

 

osservate l'uso del carattere di escape "" ,prima del nome della variabile, il cui scopo è quellodi visualizzare il carattere '$', senza che $varvenga interpretato. Di questo parleremo nel capitolo10.3.