今回は「複数の条件によるif文」をテーマに書いてみたいと思います。
まずはサンプルプログラムを見てみましょう。
<?php $box = 10; $box2 = 20; if($box == 10 && $box2 == 15){ // && は「かつ」を表す echo "OKです1。"; } echo "<br>"; if($box == 12 || $box2 == 20){ // || は「または」を表す echo "OKです2。"; }
実行結果と上図を見て頂くと分かる通り、複数の条件による分岐を行う場合は
「&&」や、「||」を使うことで実現可能です。
※ 「|」 はshiftを押しながら¥を押すと出てきます。
「&&」は「かつ」や「and」を意味し、複数の条件を全て満たした場合
に{}内のプログラムを実行します。
一方、「||」は「または」や「or」を意味し、複数の条件のいづれかを満たした場合
に{}内のプログラムを実行します。
従って、サンプルプログラムでは「||」の方の条件には合致するので
OKです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。"; }
「&&」や「||」は覚えづらいという方に朗報です。
「&&」は「and」で、「||」は「or」で記述することも可能です。
こっちの方が簡単だと思いますのでまずはこちらで覚えておきましょう。
最後にもう一つサンプルプログラムを見てみましょう。
<?php $box = 10; $box2 = 20; if($box == 10 ){ if($box2 == 20){ // これで and と同じ意味となる echo "OKです1。"; } }
最後のサンプルプログラムは「and」や「&&」を使わずに、「かつ」を
表す方法です。
参考書などのプログラムではこういうったプログラムを見ることがあります。
これはif($box == 10 )に合致した時に、{}内のプログラムを実行しますが、
その中にさらにif($box2 == 20)という条件分岐が存在し、それも合致したら
echo “OKです1。”;を実行してねという意味になります。
イメージで捉えると扉が2つあって、1つの扉を開くと、次の扉が現れて、
それも開けると、echoできる、という感じでしょうか。
※参考:http://ハンターハンター総合.net/wp-content/uploads/2014/10/WS00000810.jpg