命令の分離

C や Perl と同様に、PHP でもステートメントを区切りにはセミコロンが必要と なります。PHP コードブロックの終了タグには自動的にセミコロンが含まれていると 認識されます。 従って PHP コードの最終行にはセミコロンを記述する必要はありません。 ブロックの終了タグは、直後に改行がある場合、それを含んだものになります。

例1 改行を囲んだ終了タグを表示させる例

<?php echo "Some text"?>
No newline
<?= "But newline now" ?>

上の例の出力は以下となります。

Some textNo newline
But newline now

PHP パーサの開始と終了の例:

<?php
    
echo 'テストです';
?>

<?php echo 'テストです' ?>

<?php echo '終了タグを省略しました';

注意:

ファイル終端における PHP ブロックの終了タグはオプション(任意)です。 includerequire を利用する際には、 終了タグを省略する方が無難です。というのは、そうすることでファイルの最後に 予期せぬ空白文字があらわれてしまうことを防げますし、後でレスポンスに ヘッダを付加することも可能となるからです。また、出力バッファリングを 使用しており、include したファイルの生成する部分の最後に余計な空白を つけたくない場合などにも便利です。

add a note add a note

User Contributed Notes 2 notes

up
116
Krishna Srikanth
17 years ago
Do not mis interpret

<?php echo 'Ending tag excluded';

with

<?php echo 'Ending tag excluded';
<
p>But html is still visible</p>

The second one would give error. Exclude ?> if you no more html to write after the code.
up
3
anisgazig at gmail dot com
3 years ago
At the end of each statement,we will use a semicolon to seperate each statement.Php closing tag autometically implies a semiclon.So last line of a statment do not require a statement.

<?php echo "first statement";
      echo
"second statement"
?>

Closing tag is optional and some cases omitting the closing tag is very helpful.
1.using include or require function
2.unwanted whitespace will not occur at the end of file
3.add header any time

<?php echo "omitting closing tag";
To Top