While
La condizione while
si comporta esattamente come in C; la sintassi di base è:
while (espressione) statement
Come if
, inoltre, while
può essere utilizzato con o senza parentesi graffe, aggiungendo nel secondo caso lo statement endwhile
. I due esempi che seguono si equivalgono:
/* Primo esempio: */
/* $a viene incrementato e visualizzato */
/* finchè il suo valore non supera "5" */
$a = 1;
while ($a <= 5) {
print $a++;
}
/* Secondo esempio */
$a = 1;
while ($a <= 5)
print $a++;
endwhile;
Tradotte, queste espressioni fanno in modo che, finchè (while
) $a è minore o uguale a "5", $a viene incrementato di un'unità e visualizzato.
For
Anche for
si comporta esattamente come avviene in C o in Perl; dopo il for
, devono essere inserite tre espressioni che, finchè restituiscono "TRUE" permettono l'esecuzione dello statement che segue: considerate questo esempio:
for ($a = 0 ; $a <=10 ; $a++) {
print $a;
}
che visualizzerà i numeri da "0" a "10". Nelle tre espressioni fra parentesi abbiamo definito che:
- $a ha valore 0;
- $a è minore o uguale a 10;
- $a è incrementata di una unità;
Quindi, per ogni valore di $a a partire da "0" fino a "10" $a viene visualizzato. È possibile omettere alcune operazioni (ricordandosi comunque di specificare sempre il punto e virgola come separatore) nel caso in cui l'inizializzazione, il controllo o la post esecuzione siano effettuate in altri luoghi oppure non debbano essere effettuate.
Switch
Switch
permette di sostituire una serie di if
sulla stessa espressione e, ovviamente, di agire dipendentemente dal valore di questa:
switch ($i) {
case 0:
echo "$i vale 0";
break;
case 1:
echo "$i vale 1";
break;
}
Abbiamo qui introdotto l'istruzione break
che permette di uscire da un blocco nel caso si avveri una determinata condizione. Il costrutto switch è spiegato ampiamente nella guida base, quindi rimando al paragrafo relativo per ulteriori spiegazioni.