PHPの条件分岐(if文、switch文)、比較演算子、論理演算子
ここではPHPの条件分岐(if文、switch文)、比較演算子、論理演算子についてまとめています。
if文
if文の基本文法
if文は
if( 条件 ){ 結果 }
または
if( 条件1 ){ 結果1 }else{ 結果2 }
または
if( 条件1 ){ 結果1 }elseif( 条件2 ){ 結果2 }else{ 結果3 }
のように記述します。
$v=10;
if ($v > 0)
{
echo "$v は 正数";
} elseif($v == 0) {
echo "$v は 0";
} else {
echo "$v は 負数";
}
>10 は 正数
switch文
if文、switch文どちらも条件分岐に利用します。性能、ふるまいに違いはありませんので好きな方を使えば良いと云えます。
switch文の基本文法
switch文は
switch( 変数 ){case 条件 : 結果 }
または
switch( 変数 ){case 条件1 : 結果1 default : 結果2 }
または
switch( 変数 ){case 条件1 : 結果1 条件2 : 結果2 default : 結果3}
のように記述します。
$v=10;
switch ($v)
{
case $v > 0:
echo "$v は 正数";
case $v == 0:
echo "$v は 0";
default:
echo "$v は 負数";
}
>10 は 正数
比較演算子、論理演算子
比較演算子
値および型を比較するための演算子です。
PHPはその特徴としてJavaやCと違い前以て変数の型を宣言をしません。PHP側が代入した変数を自動で型を解釈します(暗黙的な型変換)。このためより安全を期すために値のみでなく型も併せた条件式があります。
比較演算子 | 説明 | 例 |
> >= < <= | 大小の比較。値のみで比較。 | $a > 0 |
== != <> | 一致、不一致の比較。値のみで比較。 | $a == 0 |
=== !== | 一致、不一致の比較。値および型で比較。 | $a === 0 |
※PHPの一致条件比較は==です。=では値の代入になってしまいますので注意して下さい。
論理演算子
論理演算子
比較演算子と組み合わせて複雑な条件を作成する際に利用します。
論理演算子 | 説明 | 例 |
and && | 論理積(かつ) | ($a > 0) && ($b > 0) |
or || | 論理和(または) | ($a > 0) || ($b > 0) |
! | 否定(でない) | ! $a |
型変換関数
変換関数
条件式において変数を比較する際、型(文字・数値)を変換しておかないと意図しない結果になることがあります。以下変換関数を使い明示的に型変換するようにしましょう。
型変換関数 | 説明 |
intval($a) | 整数に型変換 |
floatval($a) | 浮動小数点数に型変換 |
strval($a) | 文字列に型変換 |