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

ホームページTIPS
facebook twitter mail

このサイトでは、ホームページ制作運用に関する各種の情報を無料公開しています。
内容についてのご意見・ご指摘については、フォームからお知らせいただけば、適宜変更させていただきます。

phpに関するTips

2017.7.18更新

php

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

Attention!

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

1すべての基本となる「if〜else構文」について
<?php

	$score = 85;

	if($score > 80){
	 // ifの条件が「真」の場合の処理
		echo "合格です。よくできました!";

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

?>

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

2さらに条件を追加できる「elseif」
<?php

	$score = 70;

	if($score > 80){
	 //ifの条件が「真」の場合の処理
		echo "合格です。よくできました!";

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


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

?>

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

 

if条件分岐_02

 

3条件分岐を設定する「比較演算子」を覚えよう!
<?php

	// if( 条件指定 )する際の「比較演算子」を覚えましょう!

	//比較演算子

	//  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 ・・・・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さらに複雑に条件指定できる「論理演算子」を覚えよう!
<?php

	// if( 条件指定 )を細かく指定できる「論理演算子」を覚えましょう!


	//論理演算子を使えば、2つ以上の条件を組み合わせる事ができます

	//  条件A  and  条件B・・・・条件Aと条件Bの両方に合致する場合に「真」
	//  条件A  &&   条件B・・・・上記と同じ 
	//  条件A  or   条件B・・・・条件Aと条件Bのどちらか1つに合致する場合に「真」
	//  条件A  ||   条件B・・・・上記と同じ
	//  ! 条件A ・・・・・・・・・条件Aではない時に「真」



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


	$score = 65;


	if( $score > 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の構文」と条件を指定する「演算子」になりますので、問題を自作するなどの反復練習をして、しっかり身につける様にしましょう。

トップへ