PHPにおける分岐処理-if-

プログラミングの基本命令の一つが分岐処理ifです。ifを使うことで、条件に応じた動作ができるようになります。ここでは、PHPでif文をどのように使うかを解説します。

if文を使ってみる

さっそくですが、プログラム例として、

「もしお腹が空いたら、ラーメンを食べる。そうでないなら、デザートを食べる。」

といった分岐処理をPHPで実現します。ではif文を使ってみます。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ifの使い方</title>
</head>
<body>
<?php
$onaka='空いていない';
if($onaka=='空いている'){
	echo 'ラーメンを食べる。';
}else{
	echo 'デザートを食べる。';
}
?>
</body>
</html>

この結果を出力すると、お腹($onaka)が空いていないので、

デザートを食べる。

いう結果になります。このプログラムのように

if(条件){
条件を満たす場合の処理
}else{
条件を満たさない場合の処理
}

のようにしてif文をつかいます。if文はよく使うので必ずマスターしておいてください。

elseifを使ってみる

また、if文は

if(条件1){
条件1を満たす場合の処理
}elseif(条件2)
条件1を満たさないが、条件2を満たす場合の処理
}else{
条件1,2を両方とも満たさない場合の処理
}

という方法でも使えます。elseifによって複数の条件分岐が可能となります。PHPの場合は、elseとifの間にスペースはありません。

andとor

最後に条件の書き方の補足をします。 もし、条件1と条件2を同時に満たす場合は

if(条件1){
    if(条件2){
       処理
    }
}

となります。しかし、これだと階層が大きくなってみにくいです。 そこでand「&&」を使います。 「&&」を使えば

if(条件1 && 条件2){
処理
}

という具合に書くことができます。 and「&&」とは日本語で「かつ」という意味です。「もし条件1かつ条件2がなりたてば」 というふうになります。

「かつ」があるなら「もしくは」もあります。 それがor「||」です。

if(条件1 || 条件2){
処理
}

という具合につかいます。

等しい、以上、以下など

数字や文字などを比較したい場合があります。 例えば$aは1より大きいかどうかをなどです。 そういう場合は

  • 等しい「==」、「===」
  • 等しくない「!=」、「!==」
  • $aは1以上「$a>=1」
  • $aは1より大きい「$a>1」
  • $aは1以下「$a<=1」
  • $aは1未満「$a<1」

を参考にしてください。ここで==と===の違いですが、==だと値だけを比較し、===だと値と型も比較します。!=と!==の違いも同様です。例えば、

<?php
$a=100;
$b=100.0;
if($a==$b){
	echo '値が同じ<br>';
	if($a===$b){
		echo '型も同じ';
	}else{
		echo '型は違う';
	}
}else{
	echo '値が違う';
}

とすれば、

値が同じ

型は違う

と出力されます。

HTMLと相性のいいかき方

HTMLと組み合わせやすいif文のかき方があるので紹介します。

それは

<?php if (条件1): ?>
<p>文章1</p>
<?php elseif (条件2): ?>
<p>文章2</p>
<?php else: ?>
<p>文章3</p>
<?php endif; ?>

というかき方です。「:」を使うのが特徴です。プログラムが綺麗になりそうならこの記法を使うといいでしょう。

著者:安井 真人(やすい まさと)