こんにちは!ともです(@_tomo_engineer)!
最近PHPを学び直していまして、現在パーフェクトPHPと言う本を読みながら勉強しています。今回はPHPでif文の書き方について勉強します。
この記事ではPHPでHTML内にif文を書く方法についてまとめます。
基本書式
<?php
$hour = 9;
if(8 <= $hour && $hour <= 10){
?>
<p>おはよう</p>
<?php
} else {
?>
<p>こんばんは</p>
<?php
}
?>
この様にPHPの条件式を閉じるブラケットを作成するために、コードを書かなければなりません。
また『 } else {』も少し不恰好です。
コロンとendifで閉じる
HTML内で利用する場合、基本的な書式を利用するよりも、コロンとendifを利用する方が少し綺麗に書くことができます。
先ほどと同じコードを書くと以下の様になります。
<?php
$hour = date('H');
if(5<= $hour && $hour < 10):
?>
<p>おはようございます</p>
<?php else:?>
<p>こんばんは。</p>
<?php endif;?>
コロン1つがブラケットの役割を果たし、条件分岐の終わりを『endif』が表しています。
こちらの方がブラケットを利用した場合より読みやすいのではないでしょうか。
その他の制御構文
switch・while・for・foreachをHTML内で利用する場合もコロンと『end』を利用する事ができます。
<?php
$array = array(1,2,3,4,5);
foreach($array as $value){
?>
<p>value:
<?php echo $value?>
</p>
<?php }?>
コロンと『endforeach』を利用しない場合は上記の様になりますが
<?php
$array = array(1,2,3,4,5);
foreach($array as $value):
?>
<p>value:
<?php echo $value?>
</p>
<?php endforeach;?>
これに関しては行数は変わりません。
ただ、foreachの終わりがどこなのか分かりやすいというメリットがあります。
まとめ
今回はコロンと『endif』を利用したPHPの条件分岐について書きました。
『endXXX』で閉じた場合は、閉じた場所がわかり易くて気に入りました。
特にif文の場合は綺麗に書けそうです。