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)) {
// 配列が空ではない場合
}