Php Istruzioni, else, if, switch

Istruzione if

Analizziamo un po’ più a fondo l’istruzione if in PHP: essa infatti ci permette non solo di indicare quali istruzioni vogliamo eseguire se la condizione è vera, ma anche di esprimere un blocco di codice da eseguire quando la condizione è falsa. Ecco come:
If () {
<codice>
} else {
<codice>
}

La parola chiave else, che significa ‘altrimenti’, deve essere posizionata subito dopo la parentesi graffa di chiusura del codice previsto per il caso ‘vero’ (o dopo l’unica istruzione prevista, se non abbiamo usato le graffe). Anche per ‘else’ valgono le stesse regole: niente punto e virgola, parentesi graffe obbligatorie se dobbiamo esprimere più di un’istruzione, altrimenti facoltative. Ovviamente il blocco di codice specificato per ‘else’ viene ignorato quando la condizione è vera, mentre viene eseguito se la condizione è falsa.

Le istruzioni if possono essere nidificate una dentro l’altra, consentendoci così di creare codice di una certa complessità. Esempio:

if ($nome == ‘Totuccio’) {
if ($cognome == ‘Rossi’) {
print “Totuccio Rossi è di nuovo fra noi”;
} else {
print “Abbiamo un nuovo Totuccio!”;
}
} else {
print “ciao $nome!”;
}

In questo caso, abbiamo nidificato un ulteriore test all’interno del primo caso, quello in cui $nome ha il valore ‘Tuccio’. Abbiamo infatti previsto un messaggio diverso, a seconda del valore della variabile $cognome.

Elseif

Un’ulteriore possibilità che ci fornisce l’istruzione if in PHP è quella di utilizzare la parola chiave elseif. Attraverso questa possiamo indicare una seconda condizione, da valutare solo nel caso in cui quella precedente risulti falsa. Indicheremo quindi, di seguito, il codice da eseguire nel caso in cui questa condizione sia vera, ed eventualmente, con else, il codice previsto per il caso in cui anche la seconda condizione è falsa.

if ($nome == ‘Luca’) {
print “bentornato Luca!”;
} elseif ($cognome == ‘Verdi’) {
print “Buongiorno, signor Verdi”;
} else {
print “ciao $nome!”;
}

In questo caso, abbiamo un’istruzione da eseguire quando $nome vale ‘Luca’; nel caso in cui ciò non sia vero, è prevista una seconda istruzione se $cognome è ‘Verdi’; se nemmeno questo è vero, allora verrà eseguita la terza istruzione. Da notare che, se $nome è ‘Luca’ e $cognome è ‘Verdi’, viene comunque eseguita solo la prima istruzione, perchè dopo avere verificato la condizione, tutti gli altri casi vengono saltati.

Switch

Un caso di diramazione multipla, che ci permette di prevedere diversi valori possibili per un’espressione ed eseguire codice specifico in base al valore:

switch (espressione)

{
case valore-1:

dichiarazione-1
dichiarazione-2

break;

case valore-2:
dichiarazione-3
dichiarazione-4

break;

….

default: dichiarazione predefinita

 

}

L’istruzione switch prevede che indichiamo, fra parentesi, un’espressione che verrà valutata per il suo valore (questa volta non si tratta necessariamente di un valore booleano). Di seguito, tra parentesi graffe, esprimeremo una serie di espressioni da confrontare con quella indicata prima: dal momento in cui ne trova una il cui valore è uguale, PHP esegue il codice indicato di seguito, fino a quando non incontra un’istruzione break. Come possiamo vedere dall’esempio, le espressioni da confrontare con la prima vengono precedute dalla parola chiave case e seguite dai due punti. L’istruzione default può essere indicata come ‘ultimo caso’, che si considera verificato quando nessuno dei casi precedenti è risultato vero. L’indicazione default può anche essere assente.

Break

È molto importante comprendere la funzione dell’istruzione break in questa situazione. Infatti, quando PHP verifica uno dei casi, esegue non solo il codice che trova subito dopo, ma anche tutto quello che trova di seguito, compreso quello relativo ai casi seguenti. Questo fino a quando non trova, appunto, un’istruzione break. Se non mettessimo un’istruzione break alla fine di un blocco di codice relativo ad un caso particolare, l’esecuzione continuerebbe eseguendo anche il case successivo. Questo comportamento ci permette però di prevedere un unico comportamento per più valori dell’espressione sotto esame:

switch ($nome) {
1       case ‘Luca’:
2     case ‘Giorgio’:
3      case ‘Franco’:
4       print “Ciao, vecchio amico!”;
5   break;
6       case ‘Mario’:
7       print “Ciao, Mario!”;
8   break;
9      case ‘Paolo’:
10     print “Finalmente, Paolo!”;
11    break;
12     default:
13      print “Benvenuto, chiunque tu sia”;
}

In questo caso, abbiamo previsto un unico messaggio per il caso in cui la variabile $nome valga ‘Luca’, ‘Giorgio’ o ‘Franco’.

 

Una risposta a “Php Istruzioni, else, if, switch”

I commenti sono chiusi.