If
Non possono mancare in un linguaggio di programmazione le strutture di controllo, che permettono al programmatore di far compiere delle azioni al programma nel caso si verifichino (o non si verifichino) determinate condizioni.
If
permette di eseguire un blocco di codice se avviene (o non avviene) una determinata condizione; la sua sintassi è:
if (condizione) statement
Ad esempio, vogliamo che uno script ci indichi se due variabili sono uguali:
$a = 2;
$b = 2;
if ($a == $b) {
echo "$a è uguale a $b e valgono $a.n";
}
If
può anche essere utilizzato in maniera differente da quella appena esposta: eccone un esempio:
<? $a = 2; $b = 2; if ($a == $b) : ?>
$a è uguale a $b.
<? endif; ?>
il cui operato è identico a quello esposto sopra anche se molto meno leggibile.
If
può essere utilizzato anche senza le parentesi graffe, utilizzando endif
quando si intende terminare il blocco "if"; ad esempio:
if ($a == $b)
echo "$a è uguale a $b e valgono $a.n";
endif;
Else
Else
viene in "completamento" di if
: con if
, infatti, stabiliamo che succeda qualcosa all'avverarsi di una condizione; con else
possiamo stabilire cosa accade nel caso questa non si avveri. Un esempio potrebbe essere:
$a = 2;
$b = 3;
if ($a == $b) {
echo "$a è uguale a $b e valgono $a.n";
} else {
echo "$a è diversa da $b.n$a vale "$a" mentre $b vale "$b".n";
}
Elseif
Elseif
permette di specificare casualità non definite da if
; un esempio potrebbe essere: "Se $a è uguale a $b visualizza $a, se $a è diversa da $b visualizza un messaggio d'errore, avvisa se $a non esiste, avvisa se $b non esiste". Con i soli if
ed else
non si potrebbe fare, ma con elseif
diventa semplice:
if ($a == $b) {
echo "$a è uguale a $b.n";
} elseif ($a != $b) {
echo "$a è diversa da $b.n";
} elseif (!$a) {
echo "$a non esiste.n";
} elseif (!$b) {
echo "$b non esiste.n";
}
Notate due cose: possono esserci, in un blocco, tutti gli elseif di cui avete bisogno e, per chi conosca il Perl, attenzione a non scrivere elsif
al posto di elseif
: il significato è lo stesso ma "elsif" non viene riconosciuto dal PHP così come elseif non viene riconosciuto dal Perl!