php開始タグと終了タグ

書式: <?php ?>

最も一般的な開始、終了タグです。
echo機能のショートカットは使えません。ですから、「<?php=~?>」と記述してもhtmlには出力されません。

書式: <? ?>

ショートタグと呼ばれていて、デフォルトではOFFになってます。XMLの開始タグと競合するためあまり使わない方が良いと言われます。尤も、XMLを使わないなら、この設定をONにしても問題はありません。
echo機能のショートカットが使えるため、「<?=~?>」と記述すると「~」が出力されます。

書式: <% %>

ASP形式のタグです。こちらもデフォルトではOFFになっていて使えません。
echo機能のショートカットが使えるため、「<%=~%>」と記述すると「~」が出力されます。

上記のタグでは、終了タグの直前の「;」は省略することが可能です。

書式: <script language="php"> </script>

環境に左右されず使えると言われます。もっとも、あまり一般的ではありません。

phpでは、文の終わりに「;」または終了タグが必要です。
{}はブロックを表します。文ではありませんから「};」のように「;」をつけるとエラーになってしまいます。