2015年10月6日

PHP if構文 応用2 〜 and / or 〜

«
»

Pocket

今回は「複数の条件によるif文」をテーマに書いてみたいと思います。
まずはサンプルプログラムを見てみましょう。
 


<?php

$box = 10;
$box2 = 20;


if($box == 10 && $box2 == 15){ // && は「かつ」を表す
	echo "OKです1。";
}

echo "<br>";

if($box == 12 || $box2 == 20){ // || は「または」を表す
	echo "OKです2。";
}

実行結果

php if && ||

解説

php if && ||
 
実行結果と上図を見て頂くと分かる通り、複数の条件による分岐を行う場合は
「&&」や、「||」を使うことで実現可能です。
 
※ 「|」 はshiftを押しながら¥を押すと出てきます。
 
「&&」は「かつ」や「and」を意味し、複数の条件を全て満たした場合
に{}内のプログラムを実行します。
 
一方、「||」は「または」や「or」を意味し、複数の条件のいづれかを満たした場合
に{}内のプログラムを実行します。
 
従って、サンプルプログラムでは「||」の方の条件には合致するので
OKです2。だけが表示されます。
 
もう一つサンプルプログラムを見てみましょう。

サンプルプログラムその2


<?php

$box = 10;
$box2 = 20;


if($box == 10 and $box2 == 15){ // && は「かつ」を表す
	echo "OKです1。";
}

echo "<br>";

if($box == 12 or $box2 == 20){ // || は「または」を表す
	echo "OKです2。";
}

実行結果

php if and or

解説

「&&」や「||」は覚えづらいという方に朗報です。
「&&」は「and」で、「||」は「or」で記述することも可能です。
 
こっちの方が簡単だと思いますのでまずはこちらで覚えておきましょう。
 
最後にもう一つサンプルプログラムを見てみましょう。

サンプルプログラムその2


<?php

$box = 10;
$box2 = 20;


if($box == 10 ){
	if($box2 == 20){ // これで and と同じ意味となる
		echo "OKです1。";	
	}
}

実行結果

php if 複数条件

解説

最後のサンプルプログラムは「and」や「&&」を使わずに、「かつ」を
表す方法
です。
 
参考書などのプログラムではこういうったプログラムを見ることがあります。
 
これはif($box == 10 )に合致した時に、{}内のプログラムを実行しますが、
その中にさらにif($box2 == 20)という条件分岐が存在し、それも合致したら
echo “OKです1。”;を実行してねという意味になります。
 
イメージで捉えると扉が2つあって、1つの扉を開くと、次の扉が現れて、
それも開けると、echoできる
、という感じでしょうか。
 
ゾルディック家の扉
※参考:http://ハンターハンター総合.net/wp-content/uploads/2014/10/WS00000810.jpg

まとめ

・複数の条件による分岐を行いたい場合は「&&」や「||」を用いる
・「&&」は「and」、「||」は「or」で置き換えることができる
・「and」や「&&」を用いずとも、if分だけでも実現できる

【関連する記事】