PHPの『開始タグ』と『終了タグ』の書き方

PHPはHTMLの中に書くことができる

PHPはHTMLの中に書くことができます。
HTMLの中に突然PHPが出現すると、「えっ!いきなりPHPなの?」と、混乱してしまいます。

ちなみに、HTMLはこんな感じで書かれまています。
(本当は正確な記述がありますが、超簡単に省略して書いています)

<thml>
 <head>
 </head>
 <body>
 </body>
</html>

HTMLをご存知の方にはおなじみのタグですよね。

PHPは、HTMLの<body>・・・</body>間に書くことができます。
(もちろん、PHPだけのファイルとして書くこともできます)

ただでさえややこしいHTMLの中に、PHPが混在して書かれていると…
わかりにくさ、ハンパないです!

PHPの始まりと終わりを教えてあげる

PHPはHTMLの中に混在させて書くことができます、と書きました。
ハイ、ややこしいです!

そこで、HTMLの中で「ここから、ここまでが、PHPだよ!」って教えてあげるのです。
それが『PHPの開始タグ』と『PHPの終了タグ』です。

<thml>
 <head>
 </head>
 <body>
  <?php
   ここにPHPプログラムを記述
  ?>
 </body>
</html>

このように書いてあげるとHTMLの中に、突然PHPが表れてもわかりやすいですよね!

ちなみに、 <?php ・・・ ?> の意味は、

  • <?php ・・・ 「ここからPHPだよ!」という意味
  • ?>   ・・・ 「PHPはここまで!」という意味

HTMLでPHPを書ける場所

PHPが記述できる場所は、<body>…</body>間と・・・さきほど書きました。

ほとんどの場合は正しいのですが、正確には正しくありません…
すみません…m(_ _)m

分かりやすく説明するために、あえてそう表現しました。
正しくはこんな感じで、HTMLの中にPHPを記述することができます。

<?php
 *ここにPHPプログラムを記述
?>
<thml>
 <head>
  <?php
   *ここにPHPプログラムを記述
  ?>
</head>
 <body>
  <?php
   *ここにPHPプログラムを記述
  ?>
 </body>
</html>

というかんじで、ほぼどこにでも記述できちゃいます・・・(^^)/
まとめると…こうなります。

PHPを書ける場所は・・・

  • <html>の上に記述できる
  • <head> ・・・ </head> 間に記述できる
  • <body> ・・・ </body> 間に記述できる

と、HTMLの中にどこにでも書けちゃうわけです。
だから、PHPの『開始タグ』と『終了タグ』が必要なんですね。

PHP『開始タグ』と『終了タグ』の省略形

じつは・・・

<?php ・・・ ?> これ以外のPHP『開始タグ』と『終了タグ』があるんです…
「えっ?なにソレ!マジか~」って思いました。

  • <?php ・・・ ?>
  • <? ・・・ ?>

2種類あるんですよー、混乱しますよね。。。
でも、そういう決まりだからしかたないですね。

さらに混乱する情報を・・・

『PHPだけで書かれたファイルでは、PHPの『終了タグ』は省略できる』

え~!なにソレ!

“?>” は省略してもいいんです!

でもね、
省略できるのは、PHPだけで書かれたファイルだけ。

なぜかというと、、、
PHP『開始タグ』以降は全部PHPで書かれているから、『終了タグ』は敢えて書かなくてもわかるよね!
ということみたいです。
(たしかに、そーだわ)

HTMLの中では・・・
PHP『終了タグ』を省略できません。

PHP『終了タグ』を省略すると、PHP『開始タグ』以降のHTMLはすべてPHPですよ~
となってしまうからです。

<thml>
 <head>
 </head>
 <body>
  <?php
   *ここにPHPプログラムを記述
  ?> *『終了タグ』を省略したら
  // 以降すべてPHPと認識される
  <p>テキスト情報</p>
 </body>
</html>

PHP『終了タグ』を省略したら、
<p> 以降は HTML なのに、PHP と認識されてしまうわけです。

PHP『終了タグ』の後の改行に注意!

PHP『終了タグ』の後に、改行をいれます。
(当然ですよね)

でも、ここも注意が必要なんです!

PHP『終了タグ』の後ろの改行は1回まで。

2回以上続けて改行入れると、エラーを起こす原因になるんですって!

<?php
 // PHPプログラムが書いてある
?>[改行]
[改行]

 PHP終了タグ直後の[改行] はOK、2回目の [改行] はNGです。

たしかに、、、
「PHP終わった~」って、2回改行入れたくなる気持ちわかります。

でも、ダメなんですよね。気を付けましょう!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です