PHPでウェブの世界と繋がろう!
menu

6-1 if 文

Pocket

- 1 分ノート ! -

  • もし ~ なら ・・ する
    if(式 ~ ) 文 ・・ 
  • if文は式の結果を評価して「真(TRUE)」の場合に文を実行する 「偽(FALSE)」であれば文は無視される
  • if文の式の結果は論理型で得る
  • 文が複数ある場合は「{ }(ブロック)」で括る
    if (式 ~ ) {
    	文 ・・ 
    	文 ・・ 
    	文 ・・
    }
  • if文はif文の中に幾らでも記述することが出来きる ネスト(入れ子)が可能
    if (式 ~ ) {
    	if (式 ~~ ) {
    		if (式 ~~~ ) {
    			文 ・・ 
    		}
    	}
    }
  • ※文とはコードの記述単位の1つで、PHPの場合は「;(セミコロン)」で区切られるまでのコード

if文とは
POINT
  • もし ~ なら ・・ する
    if(式 ~ ) 文 ・・ 
  • if文は式の結果を評価して「真(TRUE)」の場合に文を実行する 「偽(FALSE)」であれば文は無視される
  • if文の式の結果は論理型で得る
  • ※文とはコードの記述単位の1つで、PHPの場合は「;(セミコロン)」で区切られるまでのコードです。

if文条件を示す文です。条件によって処理を切り替えることが出来ます。
if文はある式( if(条件式) )の値が「真(TRUE)」であるかどうかを調べ、式の値が「真(TRUE)」である場合に文を実行します。式の値が「偽(TRUE)」の場合は文は無視されます。

日本語にすると「もし ~ なら ・・ する」ということになります。「 ~ 」の部分が 式 で「 ・・ 」の部分が 文 に相当します。

if(式 ~ ) 文 ・・ 

//文が1つの場合は改行しても大丈夫
if(式 ~ )
文 ・・ 

文とはコードの記述単位の1つで、PHPの場合は「;(セミコロン)」で区切られるまでのコードです。

echo 'Hello '; echo 'World!!';

これは文が2つあることになります。

if文はある式の値「真(TURE)」「 偽(FALSE)」を調べるので、if文の式の結果は「真(TURE)」「偽(FALSE)」の論理型で得る必要があります。そのためには、式に「比較演算子」や「論理演算子」など使用して、論理値の「真(TRUE)」「偽(FALSE)」の値を返す式を作ります。

比較演算子は「if(10 == 10)」の「==」などです。論理演算子は「if((10 == 10) and (20 == 20))」の and などです。演算子についてはこちらを参照下さい。論理型についてはこちらを参照下さい。

プログラムを記述する上で様々な条件によって処理を分岐させたい場合があります。例えば、ある変数の値が 10 の場合は A を実行、20 の場合は B を実行、などのように、条件によって実行内容を分岐させる場合です。このような場合に if文 を使用します。

$a = 20;
if($a === 20) echo '$aの値は20です。';

結果は

$aの値は20です。

となります。

以下の場合は文は無視されます。

$a = 20;
if($a === 10) echo '$aの値は20です。';

結果は

となります。

構文
POINT
  • もし ~ なら ・・ する
    if(式 ~ ) 文 ・・ 
  • 文が複数ある場合は「{ }(ブロック)」で括る
    if (式 ~ ) {
    	文 ・・ 
    	文 ・・ 
    	文 ・・
    }
  • if文はif文の中に幾らでも記述することが出来きる ネスト(入れ子)が可能
    if (式 ~ ) {
    	if (式 ~~ ) {
    		if (式 ~~~ ) {
    			文 ・・ 
    		}
    	}
    }

if文の基本構文
if(式 ~ ) 文 ・・ 

//文が1つの場合は改行しても大丈夫
if(式 ~ )
文 ・・ 

if文の条件式を評価し結果が「真(TRUE)」であれば処理を進め文を実行します。式の結果が「偽(FALSE)」であれば処理は実行せずに文は無視されます。

if(1) echo 'TRUE';

結果は

TRUE

となります。

例の整数値「1」は1という値を出力する単純な式です。PHPではFALSEと見なされる以外はすべてTRUEと評価されます。「1」は式であり、「真(TRUE)」の論理値を返し、「echo」の文が実行されます。

$a = 1;
$b = 1;
if($a === $b) echo 'aとbは同一です。';

結果は

aとbは同一です。

となります。

比較演算子「===」を使用した真偽を求める式です。「===」は同一である場合に「真(TRUE)」を返します。この演算子は左辺と右辺のデータ型が同じであるかも調べます。

$a = 1;
$b = 1;
if($a and $b) echo 'aとbはTRUEです。';

結果は

aとbはTRUEです。

となります。

論理演算子「and」を使用した真偽を求める式です。「and」は右辺と左辺が「真(TRUE)」である場合に「真(TRUE)」を返します。

文が複数ある場合は「{ }(ブロック)」で括る

文を複数実行する場合は、文を「{ }(ブロック)」で囲みます。

if(式){
	文
	文
	文
}

文とはコードの記述単位の1つで、PHPの場合は「;(セミコロン)」で区切られるまでのコードです。

$a = 1;
$b = 1;
if($a === $b) {
	echo '$aは:'.$a;
	echo "<br/>\n";
	echo '$bは:'.$b;
}

結果は

$aは:1
$bは:1

となります。

例は比較演算子「===」を使用した真偽を求める式です。「===」左辺の値と右辺の値が同一である場合に「真(TRUE)」を返します。この演算子は左辺と右辺のデータ型が同じであるかも調べます。

if文はif文の中に記述することができる
if文はif文の中に幾らでも記述することが出来きます。ネスト(入れ子)が可能です。

if(式){
	if(式){
		文
	}
}

$a = 1;
$b = 2;
$c = 3;
if($a < $b){
	if($b < $c){
		echo '$aより$bは大きい。$bより$cは大きい。';
	}
}
&#91;/PHP&#93;
結果は
<div id="txtBoxLmnBgBrw1Br1">
<strong>$aより$bは大きい $bより$cは大きい</strong>
</div>
となります。

例は<strong class="clrPp6">比較演算子「&lt;」</strong>を使用した真偽を求める式です。「&lt;」は左辺より右辺がより大きい場合に「真(TRUE)」を返します。


</div>





<div id="pageUpArea"><div id="pageUpLink"><a href="#mokuji">ページ内の目次へ</a></div></div>
<div style="clear:both"></div>
</div>











<a name="4"></a>
<h5>サンプルコード</h5>
<div id="txtBoxLms" class="txtM">

<span id="txtSpl"><a href="http://www.tryphp.net/code-example/php/3-6-1.php" target="_blank"> - サンプル Click Here ! - </a></span>


[PHP ruler="true" toolbar="true"]
<h3>簡単なif文 結果がTREUの場合</h3>
<?php
if(1) echo 'TRUEです。';
?>

<h3>簡単なif文 結果がFALSEの場合</h3>
<?php
if(0) echo 'TRUEです。';//文が無視されます。
?>

<h3>if文 比較演算子</h3>
<?php
$a = 1;
$b = 1;
if($a === $b) echo 'aとbは同一です。';
?>

<h3>if文 論理演算子</h3>
<?php
$a = 1;
$b = 1;
if($a and $b){
	echo '$aは:'.$a;
	echo '<br/>';
	echo '$bは:'.$b;
}
?>

<h3>if文 入れ子</h3>
<?php
$a = 1;
$b = 2;
$c = 3;
if($a < $b){
	if($b < $c){
		echo '$aより$bは大きい。$bより$cは大きい。';
	}
}
?>
実行結果
簡単なif文 結果がTREUの場合
TRUEです。

簡単なif文 結果がFALSEの場合

if文 比較演算子
aとbは同一です。

if文 論理演算子
$aは:1
$bは:1

if文 入れ子
$aより$bは大きい。$bより$cは大きい。

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2011年11月6日
最終更新日:2014年03月06日

関連記事

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpref-structures_if/trackback/