Le strutture di controllo del PHP sono molto simili a quelle del C, e vengono utilizzate per controllare il flusso logico dello script.
Per chiarire le idee diremo che quando scriviamo un programma ci sono delle porzioni di codice che vogliamo che siano eseguite solamente se risulta vera una determinata condizione.
Ad esempio se vogliamo emettere un messaggio che ci indichi quale fra due numeri è il maggiore dobbiamo confrontarli mediante l'operatore > e al verificarsi della condizione emettere il messaggio appropriato.I costrutti delle strutture di controllo del PHP che vedremo in seguito hanno una caratteristica in comune: il loro comportamento è determinato dal verificarsi o meno di una o più condizioni.
Una condizione è semplicemente un'espressione, ed è verificata se ha il valore TRUE.
E' importante tuttavia capire che non solo le espressioni booleane possono essere interpretate come valori vero/falso ma anche espressioni che operano su tipi di dati diversi.
Per esempio:
Ovviamente ne discende che :
La versione 4 di PHP considera vuota anche la stringa uguale a “0”.
Ecco una tabella riassuntiva delle strutture di controllo previste dal PHP
|
|
If |
Permette l'esecuzione condizionata di un frammento di codice |
Else |
In combinazione con if esegue il percorso alternativo |
Elseif |
È utilizzato in una combinazione if else quando i rami possibili sono più di due |
While |
Esegue un blocco di istruzioni finché la condizione è vera. Il controllo sul verificarsi della condizione è effettuato prima dell'inizio del blocco di istruzioni |
Do while |
Come while ma il controllo sul verificarsi della condizione viene fatto dopo l'esecuzione del blocco di istruzioni. |
For |
Esegue un blocco di istruzioni n volte |
Foreach |
Esegue il blocco di istruzioni per ciascun elemento dell'array |
Break |
Termina l'esecuzione del blocco di istruzioni ed esce |
Continue |
Interrompe l'esecuzione del blocco di istruzioni e riparte dall'inizio del blocco |
Switch |
Simile ad una serie di if sulla stessa espressione |
Declare |
Si usa per definire direttive di esecuzione per blocchi di istruzione |
Return |
Termina immediatamente l'esecuzione del blocco di istruzioni in una funzione |