Con questa settima lezione, imparerete a controllare il flusso di esecuzione del vostro script e ad interagire in maniera più avanzata con i dati a vostra disposizione.
If…else Il costrutto IF è presente in tutti i linguaggi di programmazione e serve ad eseguire una determinata parte di codice solamente se si verifica una particolare condizione. Facciamo subito un esempio (controllo_if.php):
'; echo 'Valore di b:'.$b.'
'; ?>
Questo è un semplice esempio d’uso del costrutto IF, e il suo funzionamento è cosi descritto:
- Setto il valore di a=5
- Setto il valore di b=10
- Se e solo se il valore di a è minore o uguale a b allora
- Setto il valore di a uguale a quello di b
- Incremento di un unità il valore di a
Quello che vedete scritto all’interno delle parentesi tonde dopo la parola “if” è detta condizione, se la condizione è verificata viene eseguito il codice all’interno delle parentesi graffe, altrimenti tutto quel blocco di codice viene saltato.
Possiamo anche specificare una serie di istruzioni da eseguire nel caso che la condizione non venga verificata, e questo è possibile attraverso l’uso del costrutto else, vediamone subito un esempio (controllo_ifelse.php):
La prima parte dello script è simile all’esempio precedente, ma in questo caso, se la condizione non venisse verificata (per esempio modificando il valore di a da 5 a 15), verrebbe eseguita l’istruzione echo all’interno di else invece di quella all’interno di if.
Il costrutti if e if…else possono anche essere annidati uno all’interno dell’altro, per esempio potreste avere la necessità di avere 3 diversi comportamenti in base ai valori di a e b (controllo_ifelse2.php):
$b){ echo 'a è maggiore di b'; } else { echo 'a è uguale a b'; } ?>
In questo caso i controlli vengono eseguiti ovviamente in fila:
- Viene controllato che a sia minore di b, se è cosi stampa a video ‘a è minore di b’ e ignora tutto il resto
- Se a non è minore di b, viene controllato che sia maggiore, se è cosi stampa a video ‘a è maggiore di b’ e ignora tutto il resto
- Se a non è nè minore nè maggiore di b, è per forza uguale, quindi stampa a video ‘ a è uguale a b’;
Fate qualche prova modificando i valori di a e b negli esempi e osservando come cambia il risultato. Switch…case Il costrutto switch è molto utilizzato quando devono essere eseguiti una serie di if sulla stessa espressione. Vediamo subito un esempio per essere più chiari (controllo_switch.php):
Il funzionamento è molto semplice, l’espressione di controllo è quella racchiusa tra le parentesi tonde dopo switch, tutti i valori scritti dopo la parola chiave case sono i possibili risultati dell’espressione di controllo. Il blocco identificato con default viene eseguito se nessuno dei controlli scritti precedentemente ha risultato positivo. In dettaglio, questo è l’elenco dei controlli che vengono eseguiti:
- a=1 ? Se si stampa ‘a è uguale a 1’ ed esce. Altrimenti
- a=2 ? Se si stampa ‘a è uguale a 2’ ed esce. Altrimenti
- a=3 ? Se si stampa ‘a è uguale a 3’ ed esce. Altrimenti
- stampa ‘a è diverso da 1,2, o 3’.
La parola chiave break viene messa alla fine di ogni blocco case e serve a dire all’interprete che deve uscire dal costrutto switch perchè sono state eseguite tutte le istruzioni necessarie. Nel caso del blocco default non trovate la parola break perchè essendo l’ultimo blocco dello switch, l’esecuzione del costrutto termina in ogni caso
Anche in questo caso, provate a variare il valore di a e notate come cambia il funzionamento dello script.
Con questa prima parte della lezione sui costrutti di controllo, abbiamo visto tutto il necessario per controllare l’esecuzione di determinate parti di codice in base ai dati abbiamo a disposizione. Nella prossima lezione vedremo come è possibile utilizzare altri costrutti di controllo per eseguire ciclicamente una porzione di codice fino all’ottenimento di un risultato. Continuate a seguirci!
LEZIONI PRECEDENTI:
11 Dicembre 2007: Introduzione
17 Dicembre 2007: Installazione di una piattaforma LAMP su Ubuntu Linux
18 Dicembre 2007: Dentro l’HTML
20 Dicembre 2007: E tu di che tipo sei?
7 Gennaio 2008: Operiamo?
10 Gennaio 2008: Ed ecco gli Array
di Rocco Zanni - TuxJournal.net