Sintassi di if..endif

Un modo `alternativo' di scrivere le istruzioni if/elseif/else usando if(); elseif(); else; endif; non può essere implementato efficientemente senza aggiungere una gran parte di complessità nel parser 3.0. Per questo, la sintassi è stata cambiata:

Esempio D-5. Migrazione: vecchia sintassi di if..endif

if ($foo);
    echo "Si\n";
elseif ($bar);
    echo "Quasi\n";
else;
    echo "No\n";
endif;

Esempio D-6. Migrazione: nuova sintassi di if..endif

if ($foo):
    echo "Si\n";
elseif ($bar):
    echo "Quasi\n";
else:
    echo "No\n";
endif;
Nota che il punto e virgola e stata sostituita dai due punti in tutte le istruzioni tranne quella che termina l'espressione (endif).