PHPでウェブの世界と繋がろう!
menu
ホーム > PHPの文法 > 6 制御文 > PHP elseif 文/else if 文

PHP elseif 文/else if 文

Pocket

- 1 分ノート ! -

  • もし ~ なら ・・ する そうでなく、もし * * なら -- する
    もし * * なら -- する が elseif文

    if(式 ~ ) 文 ・・ elseif( 式 * * ) 文 - -
    
  • elseif文 は if文 の拡張追加
  • 最初のif文の式の結果が「偽(FALSE)」の場合、elseif文の式を評価して「真(TRUE)」の場合に文を実行する 「偽(FALSE)」の場合に文は無視される
  • if文やelseif文の式の結果は論理型で得る
  • 文が複数ある場合は文を「{ }(ブロック)」で囲む
    if(式 ~ )
    	文 ・・ 
    elseif(式 * * ){
    	文 ・・ 
    	文 ・・ 
    	文 ・・ 
    }
    
  • にある全てのif文とelseif文の式の値が「偽(FALSE)」であり、現在のelseif文の式の値が「真(TRUE)」である場合にのみ実行される
    if(式 ~ ) 文 ・・
    elseif(式 * * ) 文 -- 
    elseif(式 * * * ) 文 --- 
    elseif(式 * * * * ) 文 ----
    
  • にある全てのif文とelseif文の式の値が「偽(FALSE)」の場合にelse文実行される
    if(式 ~ ) 文 ・・
    elseif(式 * * ) 文 -- 
    elseif(式 * * * ) 文 --- 
    else 文 ----
    
  • elseif文はif文の中に幾らでも記述できる
    if(式 ~ ){
    	if(式 * ) 文 -
    	elseif(式 * * ) 文 -- 
    	elseif(式 * * * ) 文 --- 
    	elseif(式 * * * * ) 文 ---- 
    }
    
  • ※文とはコードの記述単位の1つで、PHPの場合は「;(セミコロン)」で区切られるまでのコード


elseif文とは

POINT

  • もし ~ なら ・・ する そうでなく、もし * * なら -- する
    もし * * なら -- する が elseif文

    if(式 ~ ) 文 ・・ elseif( 式 * * ) 文 - -
    
  • elseif文 は if文 の拡張追加
  • 最初のif文の式の結果が「偽(FALSE)」の場合、elseif文の式を評価して「真(TRUE)」の場合に文を実行する 「偽(FALSE)」の場合に文は無視される
  • if文やelseif文の式の結果は論理型で得る

elseif文は、最初のif文の式の結果が「偽(FALSE)」の場合に、別の文を実行するために、式と文を追加し、if文を拡張します。

elseif文はif文と同じように、ある式の値が「真(TRUE)」であるかどうかを調べます。式の値が「真(TRUE)」である場合に文を実行します。「偽(FALSE)」の場合は文は無視されます。

日本語にすると「もし ~ なら ・・ する そうでなく、もし * * なら - - する」ということになります。「 ~ と ・・ 」は最初のif文、「 * * 」と「 - - 」は次に続くelseif文です。

if(式 ~ ) 文 ・・ elseif( 式 * * ) 文 - - 

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

「elseif」は2単語で「else if」と記述することができ、両方とも動作は全く同じです。
※文とはコードの記述単位の1つで、PHPの場合は「;(セミコロン)」で区切られるまでのコード
if文についてはこちらを参照下さい。

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

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

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

結果は

$aの値は20です。

となります。


構文 elseif文 と 例

POINT

  • もし ~ なら ・・ する そうでなく、もし * * なら -- する
    if(式 ~ ) 文 ・・ elseif( 式 * * ) 文 - -
    
  • 文が複数ある場合は文を「{ }(ブロック)」で囲む
    if(式 ~ )
    	文 ・・ 
    elseif(式 * * ){
    	文 ・・ 
    	文 ・・ 
    	文 ・・ 
    }
    

elseif文の基本構文

if(式 ~ ) 文 ・・ elseif( 式 * * ) 文 - - 

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

最初のif文の式の結果が「偽(FALSE)」の場合、elseif文の式を評価し、式の結果が「真(TRUE)」である場合に、文を実行します。elseif文の式の結果が偽(FALSE)であれば処理は実行せずに文は無視されます。

結果は

elseif TRUEです。

となります。

例は最初のif文の式が「偽(FALSE)」なのでif文の文が無視されます。次に、elseif文の式が評価され、「真(TRUE)」なのでelseif文の文が実行されます。

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

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

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

elseif文の文が複数ある場合は、文を「{ }(ブロック)」で括ります。

結果は

aかbどちらかがTRUEです。
$aは:1
$bは:0

となります。

最初の例と同じようにif文の式は偽でありelseif文の式が真であるのでelseif文の文が実行されます。
この例は論理演算子「and」「or」を使用した真偽を求める式です。「and」は右辺と左辺が「真(TRUE)」である場合に「真(TRUE)」を返します。「or」は右辺か左辺のどちらかが「真(TRUE)」である場合に「真(TRUE)」を返します。


構文 複数のelseif文 と 例

POINT

  • にある全てのif文とelseif文の式の値が「偽(FALSE)」であり、現在のelseif文の式の値が「真(TRUE)」である場合にのみ実行される
    if(式 ~ ) 文 ・・
    elseif(式 * * ) 文 -- 
    elseif(式 * * * ) 文 --- 
    elseif(式 * * * * ) 文 ----
    

if文の中に、複数のelseif文を使用することができます。最初に「真(TRUE)」と評価されたelseif文の文を実行します。elseif文は、前にある全てのif文とelseif文の式の値が「偽(FALSE)」であり、現在のelseif文の式の値が「真(TRUE)」である場合にのみ実行されます。

if(式 ~ ) 文 ・・
elseif(式 * * ) 文 -- 
elseif(式 * * * ) 文 --- 
elseif(式 * * * * ) 文 ----

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

結果は

TRUEがあり、両方TRUEではありません。

となります。

例はif文とelseif文で最初に「真(TRUE)」となる式の文を実行します。
例は論理演算子「and」「or」「xor」を使用した真偽を求める式です。「and」は左辺と右辺が「真(TRUE)」である場合に「真(TRUE)」を返します。「or」は左辺と右辺のどちらかが「真(TRUE)」である場合に「真(TRUE)」を返します。「xor」は左辺と右辺のどちらかが「真(TRUE)」で、かつ、両方 が「真(TRUE)」でない場合に「真(TRUE)」を返します。


構文 if文とelseif文とelse文 と 例

POINT

  • にある全てのif文とelseif文の式の値が「偽(FALSE)」の場合にelse文実行される
    if(式 ~ ) 文 ・・
    elseif(式 * * ) 文 --
    elseif(式 * * * ) 文 ---
    else 文 ---- 
    

すべての式が「偽(FALSE)」の場合に、else文が実行されます。

if(式 ~ ) 文 ・・
elseif(式 * * ) 文 --
elseif(式 * * * ) 文 ---
else 文 ---- 

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

結果は

両方FALSEです。

となります。

例は論理演算子「and」「or」「xor」を使用した真偽を求める式です。「and」は左辺と右辺が「真(TRUE)」である場合に「真(TRUE)」を返します。「or」は左辺と右辺のどちらかが「真(TRUE)」である場合に「真(TRUE)」を返します。「xor」は左辺と右辺のどちらかが「真(TRUE)」で、かつ、両方 が「真(TRUE)」でない場合に「真(TRUE)」を返します。


構文 elseif文の入れ子(ネスト) と 例

POINT

  • elseif文はif文の中に幾らでも記述できる
    if(式 ~ ){
    	if(式 * ) 文 -
    	elseif(式 * * ) 文 -- 
    	elseif(式 * * * ) 文 --- 
    	elseif(式 * * * * ) 文 ---- 
    }
    

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

if(式 ~ ){
	if(式 * ) 文 - 
	elseif(式 * * ) 文 -- 
	elseif(式 * * * ) 文 --- 
	elseif(式 * * * * ) 文 ---- 
}

//文が1つの場合は改行しても大丈夫
if(式 ~ ){
	if(式 * ) - 
	  文
	elseif(式 * * ) -- 
	  文
	elseif(式 * * * ) --- 
	  文
	elseif(式 * * * * ) ---- 
	  文
}

結果は

$aより$bは大きい。$bと$cは同一である。

となります。

例は比較演算子「<」「>」「===」を使用した真偽を求める式です。「<」は左辺より右辺が大きい場合に「真(TRUE)」を返します。「>」は左辺が右辺より大きい場合に「真(TRUE)」を返します。「===」は右辺と左辺が同一の場合に「真(TRUE)」を返します。「===」はデータ型が同じであるかのチェックも行います。


サンプルコード

– サンプル Click Here ! –

実行結果
簡単なelseif文
elseif TRUEです。

elseif文 比較演算子
aとbは同一ではありません。

複数のelseif文 論理演算子
TRUEがあり、両方TRUEではありません。

if文とelseif文とelse
a b c はすべてFALSEです。

elseif文の文を「{・・}ブロック」で記述
$aは:1
$bは:0

elseif文のネスト(入れ子)
$aより$bは大きい。$bと$cは同一である。

– サンプル Click Here ! –


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

日付

投稿日:2011年11月6日
最終更新日:2017年03月22日

関連記事

配列関数サンプル

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

この記事へのコメント

トラックバックurl

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