Gestione del flusso in PHP


luca.terribili avatar
Luca Terribili

Qualsiasi script PHP è costituito da una serie di istruzioni. Un'istruzione può essere un'assegnazione, una chiamata di funzione, un ciclo, un'istruzione condizionale o anche un'istruzione che non fa nulla (un'istruzione vuota). Le istruzioni terminano solitamente con un punto e virgola. Inoltre, le istruzioni possono essere raggruppate in un gruppo di istruzioni, incapsulando un gruppo di istruzioni con parentesi graffe. Un gruppo di istruzioni è anche un'istruzione a sé stante. I vari tipi di istruzioni sono descritti in questa lezione.

If

Il costrutto if è una delle caratteristiche più importanti di molti linguaggi, incluso PHP. Permette l'esecuzione condizionale di frammenti di codice e PHP dispone di una sintassi simile a quella del C:

if (condizione)

  dichiarazione

La condizione viene valutata per ottenere il suo valore booleano. Se l'espressione viene risolta come vera, PHP eseguirà l'istruzione, mentre se viene valutata come falsa, verrà ignorata.

L'esempio seguente mostrerà a video che a è più grande di b se effettivamente $a è più grande di $b:

<?php
if ($a > $b)
  echo "a is bigger than b";
?>

Spesso si ha la necessità di dichiarare più di un'istruzione all'interno di un blocco condizionale. Naturalmente, non è necessario avvolgere ogni istruzione con una clausola if, si possono invece raggruppare più istruzioni all'interno dello stesso gruppo. Ad esempio, questo codice visualizzerà "a is bigger than b" se $a è più grande di $b e successivamente assegnerà il valore di $a a $b:

<?php
if ($a > $b) {
  echo "a is bigger than b";
  $b = $a;
}
?>

Le istruzioni if possono essere annidate all'infinito all'interno di altre istruzioni if, il che offre una flessibilità completa per l'esecuzione condizionale delle varie parti del programma.

else

Spesso si vuole eseguire un'istruzione se una certa condizione è soddisfatta e un'altra istruzione se la condizione non è soddisfatta. A questo serve else, che estende un'istruzione if per eseguire un'istruzione nel caso in cui l'espressione dell'istruzione if sia valutata come falsa. Ad esempio, il codice seguente mostrerà la stringa "a è maggiore di b" se $a è maggiore di $b e  mostrerà la stringa "a NON è maggiore di b" se la condizione risulterà falsa:

<?php
if ($a > $b) {
  echo "a is greater than b";
} else {
  echo "a is NOT greater than b";
}
?>

L'istruzione else viene eseguita solo se l'espressione if è stata valutata falsa e, se ci sono espressioni elseif, solo se anch'esse sono state valutate false (vedere elseif).

 

Condividi