Sei sulla pagina 1di 5

Controllo del flusso

In questa dispensa sono indicati i principali statement di PHP per il controllo del flusso di esecuzione.

Selezioni
Le selezioni consentono di eseguire un determinato gruppo di istruzioni qualora sia verificata una data condizione.

Primo caso: IF
if(condizione) istruzione;

falso condizione

v ero

istruzione

falso condizione

vero

istruzione 1

if(condizione) { istruzione1; istruzione2; }

istruzione 2

Bocchi Cinzia Ultimo aggiornamento: 23/02/2012

Secondo caso: IF ELSE


if(condizione) istruzione1; else istruzione2;

falso condizione

vero

istruzione 2

istruzione 1

falso condizione

vero

istruzione 3

istruzione 1

istruzione 4

istruzione 2

if(condizione) { istruzione1; istruzione2; } else { istruzione3; istruzione4; }

Selezioni multiple

Primo caso: IF ELSE annidati


if(condizione1) { istruzione1; istruzione2; } else { if(condizione2) { istruzione3; istruzione4; } else { istruzione5; istruzione6; } }

falso condizione 1

v ero

falso condizione 2

vero

istruzione 1

istruzione 2 istruzione 5 istruzione 3

istruzione 6

istruzione 4

Bocchi Cinzia Ultimo aggiornamento: 23/02/2012

Secondo caso: ELSEIF


if(condizione1) { istruzione1; istruzione2; } elseif(condizione2) { istruzione3; istruzione4; } else { istruzione5; istruzione6; }

falso condizione 1

v ero

falso condizione 2

vero

istruzione 1

istruzione 2 istruzione 5 istruzione 3

istruzione 6

istruzione 4

Terzo caso: SWITCH Un caso particolare di selezione multipla si ha quando si desidera confrontare il contenuto di una variabile con un insieme di valori.

$idv ar= = valore 1

vero

falso

istruzione 1

v ero $idv ar= = valore 2

istruzione 2 falso istruzione 3

switch($idvar) { case valore1: istruzione1; case valore2: istruzione2; istruzione3; case valore3: istruzione4; default: istruzione_default; }

$idv ar= = valore 3

vero

falso

istruzione 4

istruzione default

Nella struttura switch l'interprete esegue le istruzioni successive al case soddisfatto. Per esempio, se il case soddisfatto quello corrispondente a valore2, vengono eseguite tutte le istruzioni successive (istruzione2, istruzione3, istruzione4, istruzione_default) e non solo istruzione2 e istruzione3. Se si desidera che vengano eseguite solo le istruzioni del case, bisogna inserire una istruzione break, alla fine delle istruzioni di ogni case.
Bocchi Cinzia Ultimo aggiornamento: 23/02/2012

switch($idvar) { case valore1: istruzione1; break; case valore2: istruzione2; istruzione3; break; case valore3: istruzione4; break; default: istruzione_default; }

Cicli
Le strutture cicliche consentono di eseguire un gruppo di istruzioni quando verificata una data condizione. Se la condizione diventa falsa, si esce dal ciclo e si passa ad eseguire l'istruzione immediatamente successiva.

Con condizione in testa: WHILE


while(condizione) { istruzione1; istruzione2; }

condizione v ero istruzione 1

falso

istruzione 2

Il ciclo while pu anche non essere mai eseguito, se la condizione subito falsa.

Bocchi Cinzia Ultimo aggiornamento: 23/02/2012

Con condizione in coda: DO WHILE


do {
istruzione 1

istruzione1; istruzione2; } while (condizione);

istruzione 2

v ero condizione falso

Il ciclo do while viene eseguito almeno una volta.

Con contatore: FOR


for(cont=1;cont<=n;cont=cont+1) { istruzione1; istruzione2; }

cont= 1

falso cont<=n

v ero istruzione 1

istruzione 2

cont= cont+1

Il ciclo for viene eseguito n volte. Nota: invece di scrivere cont= cont+1 si pu utilizzare l'operatore di incremento ++, scrivendo cont++ oppure ++cont.

Quest'opera stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Bocchi Cinzia Ultimo aggiornamento: 23/02/2012