ホームページの作成や運用ノウハウについて、プロのクリエイターが情報を無料公開!

ホームページTIPS
facebook twitter mail

このサイトはコーディング初心者〜中級者向けの情報サイトです。掲載コードの転用制限はありませんが、
動作保証は行なっておりません。ご意見については、フォームからお知らせください。

phpに関するTips

更新日:2017.7.18

php

【 php基礎編 】if 条件分岐についてしっかり理解しよう!

解 説

phpの基本構文であるifを使った条件分岐についてご紹介します。サイトの新着情報ブログに組み込まれる「ループ処理」のベースになる考え方がこの「条件分岐」であり、phpプログラミングを覚える上では必須とも言える構文です。身につけるとweb制作の幅がぐんと広がり、様々な場面に応用できる構文なので、きちんと理解しておきましょう。

1すべての基本となる「if〜else構文」について
 80){
	 // ifの条件が「真」の場合の処理
		echo "合格です。よくできました!";

	}else{
	 // ifの条件が「偽」の場合の処理
		echo "不合格です。もっとがんばりましょう";
	}

?>

条件分岐の考え方は、まず「条件」を指定して、その条件に合致する場合(真の場合)と、合致しない場合(偽の場合)の処理をそれぞれに書く事で実装します。上記のコード例では、前提として「$score = 85」で$socreという変数に85が代入されています。「if($score > 80)」という部分が条件になり、$scoreが80以上だった場合に続く{ } の中の処理「echo “合格です。よくできました!”」を実行します。「else」は条件に合致しなかった場合(偽の場合)という意味になりますので、$scoreが80以下だった場合に、続く{ } の中の処理「echo “不合格です。もっとがんばりましょう”」を実行します。

2さらに条件を追加できる「elseif」
 80){
	 //ifの条件が「真」の場合の処理
		echo "合格です。よくできました!";

//条件を追加
	elseif($score > 60){
	//ifの条件が「偽」、elseifの条件が「真」の場合の処理
		echo "もうすこしで合格です。";
	}


	}else{
	 //ifの条件が「偽」の場合の処理
		echo "不合格です。もっとがんばりましょう";
	}

?>

さらに「elseif」を使えば、条件を追加することができます。コード例では、$scoreが60以上80未満の場合に「もう少しで合格です。」と表示されます。elseifは幾つでも設定でき、elseifの条件が「真」となる場合、続く{ }の中を実行して処理を停止します。(elseが「真」の時の処理は実行されません)

 

if条件分岐_02

 

3条件分岐を設定する「比較演算子」を覚えよう!
 B  ・・・・AがBより大きい場合に「真」
	//  A >= B ・・・・AがB以上の場合に「真」
	//  A < B  ・・・・AがB未満の場合に「真」
	//  A <= B ・・・・AがB以下の場合に「真」
	//  A == B ・・・・AとBの「値」が同じ場合に「真」
	//  A === B・・・・AとBの「値とデータ型」が同じ場合に「真」
	//  A != B ・・・・AとBの「値」が同じでない場合に「真」
	//  A !==B ・・・・AとBの「値とデータ型」が同じでない場合に「真」


	//【練習問題】以下のような場合、表示される文字はどうなるでしょうか?


	$score = 65;


	if( $score > 80){
		echo "合格です。よくできました!";


	elseif( 79 >= $score > 70){
		echo "もうすこしで合格です。";
	}


	elseif( 70 >= $score > 65){
		echo "もっと努力が必要です。";
	}


	}else{
		echo "不合格です。もっとがんばりましょう"
	}

?>

この問題の答えが解りますか?そう、答えは「不合格です。もっとばんばりましょう」ですね。比較演算子については算数で習った大なり小なりと同じなので覚えやすいと思います。「==」や「===」については、(例)「A == “Yes”」・・・Aの値がYesの場合に「真」、という様に文字列の場合によく使用されます。「!」は否定を表す演算子です。「A != “Yes”」・・・Aの値が”Yes”ではない場合に「真」(”No”を指しているわけではない)、という様に使われますので覚えておきましょう。

4さらに複雑に条件指定できる「論理演算子」を覚えよう!
 80 and $score == 80 ) {
		echo "合格です。よくできました!";


	elseif( 79 >= $score >= 70 || $score != "こんにちは" ){
		echo "もうすこしで合格です。";
	}


	elseif( !$score == 65 && $score < 65 ){
		echo "65点ではありませんね";
	}


	}else{
		echo "不合格です。もっとがんばりましょう"
	}

?>

ちょっと複雑になってきましたが、上記の答えは「もう少しで合格です。」になります。

 

if条件分岐_03

 

このように上から1つずつ条件を確認していくと理解できると思います。実際のweb制作では、「奇数の場合に実行する」とか「数字が20になるまで繰り返し実行する(ループ処理)」というような様々な条件分岐が使われますが、全ての基本になるのは「if〜elseif〜elseの構文」と条件を指定する「演算子」になりますので、問題を自作するなどの反復練習をして、しっかり身につける様にしましょう。

トップへ