UPDATE:2024年08月12日
PHPの<コメントアウト3種類>1行と複数行のコメント書き方
目次 [閉じる]
- # コメントアウト
- // コメントアウト
- /* 複数行コメントアウト
複数行コメントアウト */
※「/* コメントアウト */」の場合、同じ形式でネスト(入れ子)するとエラーが発生する
1 2 3 4 5 6 7 8 9 10 | <?php # <シャープ:1行のコメントアウト>この部分のPHPは実行されません。 // <2つのスラッシュ:1行のコメントアウト>この部分のPHPは実行されません。 /* <スラッシュとアスタリスク:複数行をコメントアウト> この部分のPHPは実行されません。 この部分のPHPは実行されません。 */ ?> |
コメントアウトとは
- コメントアウト はプログラムコード中の 注釈
コメントアウトとはプログラムコード中における注釈のようなものです。HTMLで表現すると「<!– コメントアウト –>」に相当します。PHPはコメントアウト化された部分を無視します。コメントアウト化された部分はプログラムとは関係なく自由に記述することができます。
プログラムコードを記述する場合、必要な箇所に適度なコメントを書き記しておくことは大切なことです。コードを記述しているときはその内容を把握していても、後で読み返してみて、記述した本人が分からなくなってしまうこともあるでしょう。そのようなときにコメントが役立ちます。適宜コメントを記す癖を付けておきましょう。特に、オリジナルの関数やクラスのメソッドなど、引数や返り値に関する適切なコメントを記述しておくことは大切なことです。このようなコメントは DocComment(Docコメント) として記述します。
また、プログラムのソースコードを部分的に修正する場合に、消したい内容を実際に消してしまうのではなく、コメントアウト化することで一時的に機能しないようにします。そうすることで、必要に応じて、コメントアウト化記号を外すだけで、再度コードを実行することができます。
コメントアウトの書き方
- # コメントアウト
- // コメントアウト
- /* 複数行コメントアウト
複数行コメントアウト */
コメントアウトの書き方(コメントアウト化)には3種類の方法があります。
# (シャープ記号)でコメントアウト
最初に、「#(シャープ記号)」を使用する方法です。これは、単一行用のコメントアウトです。「#」が先頭にあるかぎり行の終わりまでコメントアウトになります。PHPは # から行の終わりまでのコードを無視します。改行または、PHP終了タグ「?>」が出るまでコメント化が続きます。それ以降はコメントアウト化が解除されて、コードが実行表示されるようになります。
1 2 3 4 5 6 | <?php # コメント コメント コメント echo "こんにちは!<br>\n";# コメント # コメント コメント コメント ?> HTMLです。 |
結果は
HTMLです。
となります。コメントアウト部分は表示されません。
// (スラッシュ記号)でコメントアウト
次に、「/(スラッシュ記号)」を使用する方法です。「//」 2つのスラッシュを使用します。「//」が先頭にあるかぎり行の終わりまでコメントアウトです。PHPは // から行の終わりまでのコードを無視します。改行または、PHP終了タグ「?>」が出るまでコメントアウト化が続きます。それ以降はコメントアウト化が解除されて、コードが実行表示されるようになります。
1 2 3 4 5 6 | <?php // コメント コメント コメント echo "こんにちは!<br>\n";// コメント // コメント コメント コメント ?> HTMLです。 |
結果は
HTMLです。
となります。コメントアウト部分は表示されません。
/* */ でコメントアウト
3つ目は、「/(スラッシュ記号)」と「*(アスタリスク記号)」で囲み、コメントアウトします。「/*」から始まり、「*/」で閉じるところまでがコメントアウトです。
1 2 3 4 | <?php /* コメント コメント コメント */ echo "こんにちは!<br>\n";/* コメント */ ?> |
結果は
となります。コメント部分は表示されません。
# や // は単一行用のコメントであるのに対して、この形では複数行のコメントアウトが可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php /* コメント echo "こんにちは!<br>\n"; コメント */ /* for($i=0;$i<=10;$i++){ echo $i.'<br>'; } */ ?> |
実行しても何も表示されません。
/* */ の入れ子エラー
以下のように /* */ で作るコメントアウトを入れ子にするとエラーになります。注意してください。
1 2 3 4 5 6 7 8 | <?php /* for($i=0;$i<=10;$i++){ /* $iを出力します */ echo $i.'<br>'; } */ ?> |
PHP終了タグを超えてコメントアウト
/* */ で作るコメントは、PHPの終了タグ ?> を超えても有効です。
1 2 3 4 5 6 7 8 9 | <?php /* for($i=0;$i<=10;$i++){ ?> for文のループ:<?php echo $i; ?><br> <?php } */ ?> |
スクリプトブロック部分 <?php ・・・ ?>内で記述
PHPを記述するスクリプトブロック部分 <?php ・・・ ?> の外では使用できません。
1 2 3 4 5 6 7 | /* <?php for($i=0;$i<=10;$i++){ echo 'for文のループ:'.$i.'<br>'; } ?> */ |
for文のループ:1
for文のループ:2
for文のループ:3
for文のループ:4
for文のループ:5
for文のループ:6
for文のループ:7
for文のループ:8
for文のループ:9
for文のループ:10
*/
実行結果が表示され、コメントアウトの記述も表示されます。
コメントアウトの注意点
- 「/* コメント */」この形式の場合、同じ形式を使用したコメントアウト化を ネスト(入れ子) すると エラー が発生する
「/(スラッシュ)」と「*(アスタリスク)」を使用したコメントアウト化「/* コメント */」の場合、同じ形でコメントアウトをネスト(入れ子)してはいけません。
1 2 3 4 5 | <?php /* echo 'Hello!'; /* ネストコメント */ */ ?> |
この場合、パースエラーが発生してしまいます。ネストする場合は、 「/(スラッシュ)」か「#(シャープ)」を使用したコメント化を利用しましょう。
1 2 3 4 5 6 7 8 9 | <?php /* echo 'Hello!'; // ネストコメント */ /* echo 'Hello!'; # ネストコメント */ ?> |
このようにすればエラーは発生しません。
DocComment(Docコメント)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php /** * DocComment * DocComment */ ?> <?php /** * 要約 * * 説明 * * @var [データ型] 説明 * @param [データ型] 変数名 説明 * @return [データ型] 説明 */ ?> |
<!−− −−> HTMLのコメントアウト
PHPを記述するスクリプトブロック部分 <?php ・・・ ?> 内では使用できません。また、この記述でコメント化された部分は、ブラウザで閲覧できるソースコード上では表示されるので、開発者向けのコメントアウトはPHPスクリプトブロック内でコメントアウトするようにしましょう。
1 2 3 4 5 | <!-- HTMLのコメント --> <?php //PHPのコメント ?> <!-- HTMLのコメント --> |
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <?php #シャープ記号「#」が先頭にあるかぎり行の終わりまでコメントアウト ############ #コメント文 ############ //2つのスラッシュ「//」が先頭にあるかぎり行の終わりまでコメントアウト ////////////// //コメント文 ////////////// /*スラッシュとアスタリスク記号で囲んでコメントアウト*/ /*スラッシュとアスタリスク記号で複数行をコメントアウト ※PHPの終了タグを超えても有効 ※入れ子はエラーになる。 */ /* コメント文 コメント文 コメント文 */ //コードを一時的に無効にする /* for($i=0;$i<=10;$i++){ echo $i.'<br>'; } */ //PHPの終了タグを超えてコメント化 /* for($i=0;$i<=10;$i++){ ?> for文のループ:<?php echo $i; ?><br> <?php } */ //コメント化をネストする /* echo 'Hello!'; // ネストコメント */ /* echo 'Hello!'; # ネストコメント */ ?> |
何も表示されません。
タグ(=記事関連ワード)
日付
最終更新日:2024年08月12日