elseif文は、if文を拡張する制御構文。if文の条件式の値が「FALSE」で、elseif文の条件式の値が「TRUE」の場合に実行する。
elseif文は、複数続けることができる。後のelseif文は、前の全てのelseif文の条件式の値が「FALSE」である場合のみ、評価する。
使い方
elseif文の基本的使い方。
if、else、endif、入れ子(ネスト)の使い方については、各ページにて解説。
処理文が1文
波括弧で括る方法
if ( 条件式A ) {
条件式Aが「TRUE」のときに行う処理
} elseif ( 条件式B ) {
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
} elseif ( 条件式C ) {
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理
}
条件式Aが「TRUE」のときに行う処理
} elseif ( 条件式B ) {
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
} elseif ( 条件式C ) {
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理
}
波括弧を省略した方法
if ( 条件式A )
条件式Aが「TRUE」のときに行う処理
elseif ( 条件式B )
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
elseif ( 条件式C )
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理
条件式Aが「TRUE」のときに行う処理
elseif ( 条件式B )
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
elseif ( 条件式C )
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理
処理文が複数
処理文が複数のときは、波括弧{}
で括り、グループ化する。
if ( 条件式A ) {
条件式Aが「TRUE」のときに行う処理1
条件式Aが「TRUE」のときに行う処理2
} elseif ( 条件式B ) {
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理1
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理2
} elseif ( 条件式C ) {
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理1
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理2
}
条件式Aが「TRUE」のときに行う処理1
条件式Aが「TRUE」のときに行う処理2
} elseif ( 条件式B ) {
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理1
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理2
} elseif ( 条件式C ) {
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理1
条件式Aと条件式Bが「FALSE」で、条件式Cが「TRUE」のときに行う処理2
}
サンプル
処理文が1文
波括弧で括る方法
<?php
$varA = 5;
$varB = 5;
if ( $varA > $varB ) {
echo '<p>$varAは$varBより大きい。</p>';
} elseif ( $varA < $varB ) {
echo '<p>$varAは$varBより小さい。</p>';
} elseif ( $varA == $varB ) {
echo '<p>$varAと$varBは等しい。</p>';
}
?>
$varA = 5;
$varB = 5;
if ( $varA > $varB ) {
echo '<p>$varAは$varBより大きい。</p>';
} elseif ( $varA < $varB ) {
echo '<p>$varAは$varBより小さい。</p>';
} elseif ( $varA == $varB ) {
echo '<p>$varAと$varBは等しい。</p>';
}
?>
↓↓↓出力結果↓↓↓
$varAと$varBは等しい。
波括弧を省略した方法
<?php
$varA = 5;
$varB = 5;
if ( $varA > $varB )
echo '<p>$varAは$varBより大きい。</p>';
elseif ( $varA < $varB )
echo '<p>$varAは$varBより小さい。</p>';
elseif ( $varA == $varB )
echo '<p>$varAと$varBは等しい。</p>';
?>
$varA = 5;
$varB = 5;
if ( $varA > $varB )
echo '<p>$varAは$varBより大きい。</p>';
elseif ( $varA < $varB )
echo '<p>$varAは$varBより小さい。</p>';
elseif ( $varA == $varB )
echo '<p>$varAと$varBは等しい。</p>';
?>
↓↓↓出力結果↓↓↓
$varAと$varBは等しい。
処理文が複数
処理文が複数のときは、波括弧{}
で括り、グループ化する。
<?php
$varA = 5;
$varB = 5;
if ( $varA > $varB ) {
echo '<p>$varAは$varBより大きい。</p>';
echo '<p>2つ目の処理。</p>';
echo '<p>3つ目の処理。</p>';
} elseif ( $varA < $varB ) {
echo '<p>$varAは$varBより小さい。</p>';
echo '<p>2つ目の処理。</p>';
echo '<p>3つ目の処理。</p>';
} elseif ( $varA == $varB ) {
echo '<p>$varAと$varBは等しい。</p>';
echo '<p>2つ目の処理。</p>';
echo '<p>3つ目の処理。</p>';
}
?>
$varA = 5;
$varB = 5;
if ( $varA > $varB ) {
echo '<p>$varAは$varBより大きい。</p>';
echo '<p>2つ目の処理。</p>';
echo '<p>3つ目の処理。</p>';
} elseif ( $varA < $varB ) {
echo '<p>$varAは$varBより小さい。</p>';
echo '<p>2つ目の処理。</p>';
echo '<p>3つ目の処理。</p>';
} elseif ( $varA == $varB ) {
echo '<p>$varAと$varBは等しい。</p>';
echo '<p>2つ目の処理。</p>';
echo '<p>3つ目の処理。</p>';
}
?>
↓↓↓出力結果↓↓↓
$varAと$varBは等しい。
2つ目の処理。
3つ目の処理。
2つ目の処理。
3つ目の処理。