PHP で if 文を見やすく短く記述する(三項演算子など)

HTML などに直接 PHP を記述する場合は、if 文を 波括弧「{}」ではなくコロン「:」で記述するとソースが見やすくなります。
また、三項演算子などで短く記述できます。

[adsense1]

PHP で if 文を見やすく記述する

波括弧を使った if 文

<?php
if (date('H') == '12') {
    echo '<p>12時台です</p>';
} elseif (date('H') == '13') {
    echo '<p>13時台です</p>';
} else {
    echo '<p>それ以外です</p>';
}
?>

コロンを使った if 文

<?php if (date('H') == '12'): ?>
    <p>12時台です</p>
<?php elseif (date('H') == '13'): ?>
    <p>13時台です</p>
<?php else: ?>
    <p>それ以外です</p>
<?php endif; ?>

この例では分かりづらいですが、if 文のブロック内に長~い HTML を記述したい場合などは、コロンを使用した方が見やすいソースになるのではないかと思います。
if 文の他に、for 文・while 文・foreach 文・switch 文でもコロンを使用できます。

コロンを使った for 文

<?php for ($i = 1; $i <= 10; $i++): ?>
    <p>こんにちは</p>
<?php endfor; ?>

コロンを使った while 文

<?php $i = 1; ?>
<?php while ($i <= 10): ?>
    <p>こんにちは</p>
    <?php $i++; ?>
<?php endwhile; ?>

コロンを使った foreach 文

<?php $arr = array('one', 'two', 'three'); ?>
<?php foreach ($arr as $value): ?>
    <p>hello <?php echo $value; ?></p>
<?php endforeach; ?>

コロンを使った switch 文

<?php $i = 0; ?>
<?php switch ($i): ?>
<?php case 0: ?>
    <p>0です</p>
    <?php break; ?>
<?php default: ?>
    <p>それ以外です</p>
<?php endswitch; ?>

PHP で if 文を短く記述する

以下のような if 文の場合、波括弧「{}」は省略して記述できます。

<?php
if (date('H') == '12') {
    $msg = '12時台です';
}
?>

<?php
if (date('H') == '12') $msg = '12時台です';
?>

以下のような if 文の場合、三項演算子で短く記述できます。

<?php
if (date('H') == '12') {
    $msg = '12時台です';
} else {
    $msg = '12時台ではないです';
}
?>

<?php
$msg = (date('H') == '12') ? '12時台です' : '12時台ではないです';
?>

[adsense2]

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください