if ~ elseif ~ else ~は、入れ子(ネスト)にして使うことができる。
使い方
if文、elseif文、else文、それぞれの中に、if ~ elseif ~ else ~を入れるだけ。
波括弧で括る方法
if ( 条件式A ) {
条件式Aが「TRUE」のときに行う処理
if ( 条件式C ) {
条件式Aが「TRUE」で、条件式Cが「TRUE」のときに行う処理
} elseif ( 条件式D ) {
条件式Aが「TRUE」で、条件式Cが「FALSE」、条件式Dが「TRUE」のときに行う処理
} else {
条件式Aが「TRUE」で、条件式Cと条件式Dが「FALSE」のときに行う処理
}
} elseif ( 条件式B ) {
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
} else {
条件式Aと条件式Bが「FALSE」のときに行う処理
if ( 条件式E ) {
条件式Aと条件式Bが「FALSE」で、条件式Eが「TRUE」のときに行う処理
} elseif ( 条件式F ) {
条件式Aと条件式Bが「FALSE」で、条件式Eが「FALSE」、条件式Fが「TRUE」のときに行う処理
} else {
条件式Aと条件式Bが「FALSE」で、条件式Eと条件式Fが「FALSE」のときに行う処理
}
}
条件式Aが「TRUE」のときに行う処理
if ( 条件式C ) {
条件式Aが「TRUE」で、条件式Cが「TRUE」のときに行う処理
} elseif ( 条件式D ) {
条件式Aが「TRUE」で、条件式Cが「FALSE」、条件式Dが「TRUE」のときに行う処理
} else {
条件式Aが「TRUE」で、条件式Cと条件式Dが「FALSE」のときに行う処理
}
} elseif ( 条件式B ) {
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
} else {
条件式Aと条件式Bが「FALSE」のときに行う処理
if ( 条件式E ) {
条件式Aと条件式Bが「FALSE」で、条件式Eが「TRUE」のときに行う処理
} elseif ( 条件式F ) {
条件式Aと条件式Bが「FALSE」で、条件式Eが「FALSE」、条件式Fが「TRUE」のときに行う処理
} else {
条件式Aと条件式Bが「FALSE」で、条件式Eと条件式Fが「FALSE」のときに行う処理
}
}
コロンとendif;を使う方法
コロンとendif;
については、endif(波括弧をコロンとendif;に変更)のページへ。
PHPブロックのみ
if ( 条件式A ):
条件式Aが「TRUE」のときに行う処理
if ( 条件式C ):
条件式Aが「TRUE」で、条件式Cが「TRUE」のときに行う処理
elseif ( 条件式D ):
条件式Aが「TRUE」で、条件式Cが「FALSE」、条件式Dが「TRUE」のときに行う処理
else:
条件式Aが「TRUE」で、条件式Cと条件式Dが「FALSE」のときに行う処理
endif;
elseif ( 条件式B ):
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
else:
条件式Aと条件式Bが「FALSE」のときに行う処理
if ( 条件式E ):
条件式Aと条件式Bが「FALSE」で、条件式Eが「TRUE」のときに行う処理
elseif ( 条件式F ):
条件式Aと条件式Bが「FALSE」で、条件式Eが「FALSE」、条件式Fが「TRUE」のときに行う処理
else:
条件式Aと条件式Bが「FALSE」で、条件式Eと条件式Fが「FALSE」のときに行う処理
endif;
endif;
条件式Aが「TRUE」のときに行う処理
if ( 条件式C ):
条件式Aが「TRUE」で、条件式Cが「TRUE」のときに行う処理
elseif ( 条件式D ):
条件式Aが「TRUE」で、条件式Cが「FALSE」、条件式Dが「TRUE」のときに行う処理
else:
条件式Aが「TRUE」で、条件式Cと条件式Dが「FALSE」のときに行う処理
endif;
elseif ( 条件式B ):
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
else:
条件式Aと条件式Bが「FALSE」のときに行う処理
if ( 条件式E ):
条件式Aと条件式Bが「FALSE」で、条件式Eが「TRUE」のときに行う処理
elseif ( 条件式F ):
条件式Aと条件式Bが「FALSE」で、条件式Eが「FALSE」、条件式Fが「TRUE」のときに行う処理
else:
条件式Aと条件式Bが「FALSE」で、条件式Eと条件式Fが「FALSE」のときに行う処理
endif;
endif;
PHPブロックとHTMLブロック
<?php if ( 条件式A ): ?>
条件式Aが「TRUE」のときに行う処理
<?php if ( 条件式C ): ?>
条件式Aが「TRUE」で、条件式Cが「TRUE」のときに行う処理
<?php elseif ( 条件式D ): ?>
条件式Aが「TRUE」で、条件式Cが「FALSE」、条件式Dが「TRUE」のときに行う処理
<?php else: ?>
条件式Aが「TRUE」で、条件式Cと条件式Dが「FALSE」のときに行う処理
<?php endif; ?>
<?php elseif ( 条件式B ): ?>
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
<?php else: ?>
条件式Aと条件式Bが「FALSE」のときに行う処理
<?php if ( 条件式E ): ?>
条件式Aと条件式Bが「FALSE」で、条件式Eが「TRUE」のときに行う処理
<?php elseif ( 条件式F ): ?>
条件式Aと条件式Bが「FALSE」で、条件式Eが「FALSE」、条件式Fが「TRUE」のときに行う処理
<?php else: ?>
条件式Aと条件式Bが「FALSE」で、条件式Eと条件式Fが「FALSE」のときに行う処理
<?php endif; ?>
<?php endif; ?>
条件式Aが「TRUE」のときに行う処理
<?php if ( 条件式C ): ?>
条件式Aが「TRUE」で、条件式Cが「TRUE」のときに行う処理
<?php elseif ( 条件式D ): ?>
条件式Aが「TRUE」で、条件式Cが「FALSE」、条件式Dが「TRUE」のときに行う処理
<?php else: ?>
条件式Aが「TRUE」で、条件式Cと条件式Dが「FALSE」のときに行う処理
<?php endif; ?>
<?php elseif ( 条件式B ): ?>
条件式Aが「FALSE」で、条件式Bが「TRUE」のときに行う処理
<?php else: ?>
条件式Aと条件式Bが「FALSE」のときに行う処理
<?php if ( 条件式E ): ?>
条件式Aと条件式Bが「FALSE」で、条件式Eが「TRUE」のときに行う処理
<?php elseif ( 条件式F ): ?>
条件式Aと条件式Bが「FALSE」で、条件式Eが「FALSE」、条件式Fが「TRUE」のときに行う処理
<?php else: ?>
条件式Aと条件式Bが「FALSE」で、条件式Eと条件式Fが「FALSE」のときに行う処理
<?php endif; ?>
<?php endif; ?>
サンプル
波括弧で括る方法
<?php
$varA = 30;
$varB = 50;
$varC = 80;
$varD = 20;
$varE = 'サンプル';
if ( $varA > $varB ) {
echo '<p>$varAは$varBより大きい。</p>';
if ( $varA > $varC ) {
echo '<p>$varAは$varCよりも大きい。</p>';
} elseif ( $varA < $varC ) {
echo '<p>$varAは$varCよりは小さい。</p>';
}
} elseif ( $varA == $varB ) {
echo '<p>$varAと$varBは等しい。</p>';
} else {
echo '<p>$varAは$varBより小さい。</p>';
if ( $varA < $varD ) {
echo '<p>$varAは$varDよりも小さい。</p>';
} elseif ( $varA > $varD ) {
echo '<p>$varAは$varDよりは大きい。</p>';
if ( $varE ) {
echo "<p>$varE</p>";
}
}
}
?>
$varA = 30;
$varB = 50;
$varC = 80;
$varD = 20;
$varE = 'サンプル';
if ( $varA > $varB ) {
echo '<p>$varAは$varBより大きい。</p>';
if ( $varA > $varC ) {
echo '<p>$varAは$varCよりも大きい。</p>';
} elseif ( $varA < $varC ) {
echo '<p>$varAは$varCよりは小さい。</p>';
}
} elseif ( $varA == $varB ) {
echo '<p>$varAと$varBは等しい。</p>';
} else {
echo '<p>$varAは$varBより小さい。</p>';
if ( $varA < $varD ) {
echo '<p>$varAは$varDよりも小さい。</p>';
} elseif ( $varA > $varD ) {
echo '<p>$varAは$varDよりは大きい。</p>';
if ( $varE ) {
echo "<p>$varE</p>";
}
}
}
?>
↓↓↓出力結果↓↓↓
$varAは$varBより小さい。
$varAは$varDよりは大きい。
サンプル
$varAは$varDよりは大きい。
サンプル
コロンとendif;を使う方法
PHPブロックのみ
<?php
$varA = 30;
$varB = 50;
$varC = 80;
$varD = 20;
if ( $varA > $varB ):
echo '<p>$varAは$varBより大きい。</p>';
if ( $varA > $varC ):
echo '<p>$varAは$varCよりも大きい。</p>';
elseif ( $varA < $varC ):
echo '<p>$varAは$varCよりは小さい。</p>';
endif;
elseif ( $varA == $varB ):
echo '<p>$varAと$varBは等しい。</p>';
else:
echo '<p>$varAは$varBより小さい。</p>';
if ( $varA < $varD ):
echo '<p>$varAは$varDよりも小さい。</p>';
elseif ( $varA > $varD ):
echo '<p>$varAは$varDよりは大きい。</p>';
endif;
endif;
?>
$varA = 30;
$varB = 50;
$varC = 80;
$varD = 20;
if ( $varA > $varB ):
echo '<p>$varAは$varBより大きい。</p>';
if ( $varA > $varC ):
echo '<p>$varAは$varCよりも大きい。</p>';
elseif ( $varA < $varC ):
echo '<p>$varAは$varCよりは小さい。</p>';
endif;
elseif ( $varA == $varB ):
echo '<p>$varAと$varBは等しい。</p>';
else:
echo '<p>$varAは$varBより小さい。</p>';
if ( $varA < $varD ):
echo '<p>$varAは$varDよりも小さい。</p>';
elseif ( $varA > $varD ):
echo '<p>$varAは$varDよりは大きい。</p>';
endif;
endif;
?>
↓↓↓出力結果↓↓↓
$varAは$varBより小さい。
$varAは$varDよりは大きい。
$varAは$varDよりは大きい。
PHPブロックとHTMLブロック
<?php
$varA = 30;
$varB = 50;
$varC = 80;
$varD = 20;
if ( $varA > $varB ):
?>
<p>$varAは$varBより大きい。</p>
<?php if ( $varA > $varC ): ?>
<p>$varAは$varCよりも大きい。</p>
<?php elseif ( $varA < $varC ): ?>
<p>$varAは$varCよりは小さい。</p>
<?php endif; ?>
<?php elseif ( $varA == $varB ): ?>
<p>$varAと$varBは等しい。</p>
<?php else: ?>
<p>$varAは$varBより小さい。</p>
<?php if ( $varA < $varD ): ?>
<p>$varAは$varDよりも小さい。</p>
<?php elseif ( $varA > $varD ): ?>
<p>$varAは$varDよりは大きい。</p>
<?php endif; ?>
<?php endif; ?>
$varA = 30;
$varB = 50;
$varC = 80;
$varD = 20;
if ( $varA > $varB ):
?>
<p>$varAは$varBより大きい。</p>
<?php if ( $varA > $varC ): ?>
<p>$varAは$varCよりも大きい。</p>
<?php elseif ( $varA < $varC ): ?>
<p>$varAは$varCよりは小さい。</p>
<?php endif; ?>
<?php elseif ( $varA == $varB ): ?>
<p>$varAと$varBは等しい。</p>
<?php else: ?>
<p>$varAは$varBより小さい。</p>
<?php if ( $varA < $varD ): ?>
<p>$varAは$varDよりも小さい。</p>
<?php elseif ( $varA > $varD ): ?>
<p>$varAは$varDよりは大きい。</p>
<?php endif; ?>
<?php endif; ?>
↓↓↓出力結果↓↓↓
$varAは$varBより小さい。
$varAは$varDよりは大きい。
$varAは$varDよりは大きい。