Uno script PHP è formato da una serie di istruzioni la cui sequenza implementa
l’algoritmo desiderato. Un’istruzione può essere un’assegnamento,
una chiamata ad una funzione, un ciclo o un’istruzione condizionata.
Più istruzioni possono essere raggruppate insieme includendole
tra parentesi graffe; in questo caso si parla di blocco di
codice. Un blocco di codice è del tutto simile ad una istruzione
singola e quindi ne segue anche le regole.
Il flusso di un programma, e quindi gli statement da eseguire,
viene scelto utilizzando le strutture di controllo del linguaggio.
Qui di seguito analizzeremo quelle di PHP.
If
Il costrutto if è tra i più importanti disponibili in PHP. Esso
permette l’esecuzione condizionata di frammenti di codice.
La sua sintassi è la seguente
if (condizione)
istruzione1;
Un’istruzione del tipo precedente testa la condizione tra
parentesi e solo nel caso essa abbia il valore booleano TRUE esegue
istruzione1. Il flusso del programma prosegue quindi con
lo statement immediatamente successivo. L’istruzione del
corpo di un costrutto if può naturalmente essere anche un blocco
di codice.
Una struttura if può contenere anche la clausola else ed
assumere quindi la forma:
if (condizione)
istruzione1
else
istruzione2;
in questo caso istruzione2 viene eseguita solo nel caso
in cui la condizione dell’if assume il valore booleano FALSE.
Più istruzioni if… else… possono essere annidate
le une dentro le altre fino a formare strutture di complessità
arbitraria.
Esempio:
if (condizione1)
{ if (condizione2)
istruzione1
else
istruzione2
}
else
{ if (condizione3)
istruzione3
else
istruzione4
}
una alternativa ad else è la clausola elseif. Essa, come
già else, estende l’istruzione if ma, al contrario di else,
esegue l’istruzione ad essa associata se la condizione di
test è vera. Per esempio il frammento di codice
if ($a > $b)
{
echo "a è maggiore di b";
}
elseif ($a == $b)
{
echo "a è uguale a b";
}
else
{
print "a è minore di b";
}
while
Il ciclo while è il più semplice ciclo messo a disposizione
da PHP. Il suo funzionamento è analogo a quello degli omologhi
per il linguaggio C o per Java. La sua sintassi è:
while (condizione)
istruzione1;
In questo caso istruzione1viene eseguita fin quando la
condizione tra parentesi tonde assume il valore booleano TRUE.
La condizione viene testata solo ogni volta all’inizio del
ciclo. Naturalmente per evitare cicli infiniti l’istruzione
del corpo del while deve prima o poi cambiare il valore della
condizione testata.
Con il ciclo while, come già nel caso del ciclo if, è possibile
controllare far eseguire più istruzioni racchiuse in un blocco
di codice o terminate dall’etichetta di fine ciclo endwhile.
In base a quanto appena detto il frammento di codice
$i = 1;
while ($i <= 10):
print $i;
$i++;
endwhile;
risulta del tutto equivalente al seguente:
$i = 1;
while ($i <= 10)
{
echo $i;
$i++;
}
do… while…
Il ciclo do… while…è molto simile al ciclo
while eccezion fatta per il motivo che esso viene controllato
da un test eseguito alla fine del blocco di istruzioni controllate.
Ne consegue che il corpo del ciclo viene eseguito almeno una volta.
La sua sintassi è la seguente:
do
{
istruzione1;
}
while (condizione);
Durante la prossima lezione continueremo la panoramica delle strutture
di controllo di PHP cominciando con il ciclo for.
Torna all'indice Generale del corso di Corso di PHP di Software Planet