はじめに

PHP で条件分岐して違う HTML タグや文章を表示したい場合に、なるべくシンプルに HTML を書く方法を調べた。

TL;DR

  • <?php if (true) : ?> <?php endif; ?> のように :endif を使う

目次

  1. はじめに
  2. TL;DR
  3. 環境・条件
  4. 詳細
  5. まとめ
  6. 参考文献

環境・条件

1
2
3
4
5
6
7
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.1
BuildVersion: 19B88

$ php -v
PHP 7.3.9 (cli) (built: Sep 10 2019 17:45:01) ( NTS )

詳細

PHP で条件分岐して、違うタグや文章を表示したい場合は、次のように echo で出力する内容を変更したり、

1
2
3
4
5
6
7
<?php
if (true) {
echo '<p>Hoge</p>';
} else {
echo '<span>Fuga</span>';
}
?>

次のように 波括弧({}) までで PHP のタグを閉じて、HTML 部分は普通に書いたりして実現できる。

1
2
3
4
5
<?php if (true) { ?>
<p>Hoge</p>
<?php } else { ?>
<p>Fuga</p>
<?php } ?>

個人的には気持ち悪く感じるので、シンプルに書く方法を調べたところ、コロン(:) を使うと次のように書ける。

1
2
3
4
5
<?php if (true) : ?>
<p>Hoge</p>
<?php else : ?>
<p>Fuga</p>
<?php endif; ?>

まとめ

  • <?php if (true) : ?> <?php endif; ?> のように :endif を使う

参考文献

関連記事