Strutture di controllo
PHP Manual

Sintassi alternativa per le strutture di controllo

(PHP 4, PHP 5)

PHP offre una sintassi alternativa per alcune delle sue strutture di controllo, ovvero: if, while, for, foreach, e switch. In ognuno di questi casi, l'approccio di base della sintassi alternativa è quello di cambiare la parentesi graffa aperta con il segno di duepunti (:) e la parentesi graffa chiusa rispettivamente con endif;, endwhile;, endfor;, endforeach;, o endswitch;.

<?php if ($a == 5): ?>
A è uguale a 5
<?php endif; ?>

Nell'esempio presentato, il blocco HTML "A è uguale a 5" è inserito all'interno in un blocco if scritto con la sintassi alternativa. Il blocco HTML sarà visualizzato solo se $a è uguale a 5.

La sintassi alternativa si applica nello stesso modo anche ad else e ad elseif. Quanto segue è un esempio della struttura if con sezioni elseif ed else nel formato alternativo:

<?php
if ($a == 5):
    echo 
"a è uguale a 5";
    echo 
"...";
elseif (
$a == 6):
    echo 
"a è uguale a 6";
    echo 
"!!!";
else:
    echo 
"a è diverso sia da 5 che da 6";
endif;
?>

Nota:

L'utilizzo delle due sintassi all'interno dello stesso blocco non è supportato.

Avviso

Qualsiasi output (inclusi gli spazi bianchi) tra un'istruzione switch e il primo case risulterà in un errore sintattico. Per esempio, questo non è valido:

<?php switch ($foo): ?>
    <?php case 1?>
    ...
<?php endswitch ?>

Mentre questo è valido, poichè la nuova riga dopo l'istruzione switch è considerata parte della chiusura ?> e quindi non viene scritto niente in output tra lo switch e il case:

<?php switch ($foo): ?>
<?php 
case 1?>
    ...
<?php endswitch ?>

Vedere anche while, for, ed if per ulteriori esempi.


Strutture di controllo
PHP Manual