PHPの値の比較判定

文字列、数字、NULL、TRUE、FALSE、配列の比較による判定結果

値の比較については以下の通り。
$varに値を設定し結果(○/×)を確認。

PHP

function getCheckValue($var) { if ($var) { $result[] = "○"; } else { $result[] = "×"; } if ($var == '') { $result[] = "○"; } else { $result[] = "×"; } (略) if (is_bool($var)) { $result[] = "○"; } else { $result[] = "×"; } if (is_array($var)) { $result[] = "○"; } else { $result[] = "×"; } return $result; } // 値 $var = ''; // 比較 $result[] = getCheckValue($var); $var = 0; $result[] = getCheckValue($var); (略) $var = array(); $result[] = getCheckValue($var); $var = array('foo', 'bar'); $result[] = getCheckValue($var);

比較結果

値($var)\比較 $var $var == '' $var == NULL $var == TRUE $var == FALSE isset ($var) empty ($var) is_string ($var) is_int ($var) is_null ($var) is_bool ($var) is_array ($var)
'' × × × × × ×
0 × × × × × ×
1 × × × × × × × ×
'0' × × × × × × × ×
'1' × × × × × × × ×
NULL × × × × × × ×
TRUE × × × × × × × ×
FALSE × × × × × ×
'foo' × × × × × × × ×
array() × × × × × × ×
array('foo', 'bar') × × × × × × × ×

配列の中身の有無を判定するには、isset($var)の戻り値が空でもTRUEとなるため、empty($var)を使う。

PHP

if (empty($var)) { // 配列が空の場合 } if (! empty($var)) { // 配列が空ではない場合 }

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について