ここではPHP、判定を解説していきます。
if文の判定
<?php $foo = 1; $bar = 2; if ($foo < $bar) { echo "true"; } else if ($foo > $bar) { echo "false"; } else { echo "false"; }
解説
この例では変数$fooより$barの値のほうが大きいので最初のifブロックが実行されtrueと出力されます。
もしも$fooに2が$barに1が代入されていたら2番目のelse ifブロックが実行されfalseと出力されます。
もしも$fooに1が$barに1が代入されていたら3番目のelseブロックが実行されfalseと出力されます。
比較演算子
<?php $foo = 1; $bar = 1; if ($foo == $bar) { echo "true"; } if ($foo >= $bar) { echo "true"; } if ($foo <= $bar) { echo "true"; } $foo = 1; $bar = 2; if ($foo != $bar) { echo "true"; } if (!($foo == $bar)) { echo "true"; }
解説
if ($foo == $bar) {} (6行目)
「==」演算子、$fooと$barが等しい場合trueと表示されます。
if ($foo >= $bar) {} (9行目)
「>=」演算子、$fooが$bar以上の場合trueと表示されます。
if ($foo <= $bar) {} (12行目)
「<=」演算子、$barが$foo以上の場合trueと表示されます。
if ($foo != $bar) {} (19行目)
「!=」演算子、$fooと$barが等しくない場合trueと表示されます。
if (!($foo == $bar)) {} (22行目)
「!()」演算子、こちらも$fooと$barが等しくない場合trueと表示されます。
論理演算子
<?php $foo = 'foo'; $bar = 2; if ($foo == 'foo' & $bar >= 1) { echo "true"; } if ($foo == 'foo' && $bar <= 3) { echo "true"; } if ($foo == 'bar' | $bar == 2) { echo "true"; } if ($foo == 'bar' || $bar == 2) { echo "true"; }
解説
if ($foo == ‘foo’ & $bar >= 1) {} (6行目)
「&」演算子、左の式と右の式が正しいならこのブロックの処理が実行されます。
if ($foo == ‘foo’ && $bar <= 3) {} (9行目)
「&&」演算子、左の式と右の式が正しいならこのブロックの処理が実行されます。
この場合左の式が正しくない場合右の式は実行されないので実際の開発ではパフォーマンス面でこちらが多く使用されます。
if ($foo == ‘bar’ | $bar == 2) {} (12行目)
「|」演算子、左の式か右の式がどちらか片方正しい場合このブロックの処理が実行されます。
if ($foo == ‘bar’ || $bar == 2) {} (15行目)
「||」演算子、左の式か右の式がどちらか片方正しい場合このブロックの処理が実行されます。
この場合左の式が正しい場合右の式は実行されないので実際の開発ではパフォーマンス面でこちらが多く使用されます。
関数を使った判定
<?php $foo = 1; $bar = 0; $baz = null; $hoge = ""; if (isset($foo)) { echo "true"; } if (isset($bar)) { echo "true"; } if (isset($hoge)) { echo "true"; } if (empty($bar)) { echo "true"; } if (empty($baz)) { echo "true"; } if (empty($hoge)) { echo "true"; }
解説
「isset()」関数
issetは変数に値がセットされているかの判定に使います。
例のように「null」はfalseになりますが、「0」、「””」はtrueになります。
「empty()」関数
emptyは変数が空かの判定に使います。
例のように「null」、「0」、「””」がfalseになりますが「1」はtrueになります。
数値の「0」や空白文字「””」が関数によってtrueとfalseに変わるので用途に分けて使用してください。
又、配列かの判定をする「is_array()」関数、nullかの判定をする「is_null()」関数もあります。