コメントアウトってプログラムを書いている中では必須の内容ですよね。
- 変数を説明したり、注意をいれる
- ここからはこの処理といったページの構成の記述する
- 特定の文をプログラムが走らないようにする
あなたもこれらのことに使われているのではないかと思います。
ですが、PHPでプログラムを書いていて、
「あれ?コメントアウトしたはずなのにその部分のプログラムが動いている!!なんで?!」
となったことはありませんか?
正直に言えば私もあります(笑)。
勘のいい人はお気づきでしょうが、コメントアウトの方法って、言語によって違うときがあり、意外と混同しやすいんですよね…。
今回はその中でも特に混同しやすいHTMLとPHPのコメントアウトの説明です。
HTMLのコメントアウトは?
HTMLでコメントアウトをする際は、コメントアウトしたい箇所を<!-- 〜 -->
で囲みます。
こんな感じですね。
1 2 3 4 5 6 7 8 9 |
<html> <head> <title>html_test</title> </head> <body> <p>IT・Webスキルアップコミュニティ</p> <!-- <p>これはテストです</p> --> </body> </html> |
PHPのコメントアウトは?
PHPでコメントアウトをするには2つの方法があります。(本当は3つありますが、内1つは割愛します。)
- 一行だけをコメントアウトするときは、コメントアウトしたい文の頭に
//
を入れます。 - 複数の行をコメントアウトするときは、コメントアウトしたい箇所を
/* 〜 */
で囲みます。
こんな感じです。
1 2 3 4 5 6 7 |
<?php //echo "これは1行コメントのテストです。"; /* $a = "これは複数行コメントのテストです"; echo $a; */ ?> |
HTMLをコメントアウトしたらPHPもコメントアウトできる?
私がひっかかったのがこれです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<html> <head> <title>html_test</title> </head> <body> <p>IT・Webスキルアップコミュニティ</p> <!-- <?php echo "これは1行コメントのテストです。"; $a = "これは複数行コメントのテストです"; ?> --> <?php echo $a; ?> </body> </html> |
実行結果は
1 2 3 |
IT・Webスキルアップコミュニティ これは複数行コメントのテストです。 |
となります。
HTMLでコメントアウトをしても、PHPの処理はコメントアウトされないんです!
そのため、$aに文を代入した処理はそのまま働き、13行目の処理で$aの文が表示されています。
これが実行後のHTMLです。
1 2 3 4 5 6 7 8 9 10 |
<html> <head> <title>html_test</title> </head> <body> <p>IT・Webスキルアップコミュニティ</p> <!-- これは1行コメントのテストです。 --> これは複数行コメントのテストです。 </body> </html> |
まとめ
コメントアウトは言語に合わせたやり方を行うようにしましょう。
- HTMLをコメントアウトしたいときは、
<!-- 〜 -->
- PHPをコメントアウトしたいときは、
//
または
/* 〜 */
とするようにするといいですね。
HTMLでPHPをコメントアウトはできないので注意しましょう。
もし、今回のプログラム(html-php_test.php)でPHPをコメントアウトしたい場合は、こうなります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<html> <head> <title>html_test</title> </head> <body> <p>IT・Webスキルアップコミュニティ</p> <?php /* echo "これは1行コメントのテストです。"; $a = "これは複数行コメントのテストです。"; */ ?> <?php //echo $a; ?> </body> </html> |
実行結果は
1 |
IT・Webスキルアップコミュニティ |
となります。