フルスタックエンジニアのノウハウ

PHPで変数に値が存在するかチェックする各種方法の比較(!、empty、isset、is_null、'')

PHPで変数に値が存在するかチェックする各種方法の比較(!、empty、isset、is_null、'')

変数に値が存在するかチェックする方法には
以下のように数種類の方法が存在します。

・if (!$var)
・if (empty($var))
・if (!isset($var))
・if (is_null($var))
・if ($var == '')

しかし、これらは変数の値によって挙動が若干異なります。

変数値による挙動の違いについて、
以下の表にまとめましたのでご参考にして下さい。


表を見ると、!$varとempty($var)は同じ挙動であり
!isset($var)とis_null($var)は同じ挙動であることが分かりますね。

実際の用途としては、以下のようになります。

1.変数値に空文字や0も許可したくない場合(例:入力チェック等)
  → !$var(またはempty($var))を使う

2.変数が存在していればOK(セッションフラグチェック等)
  → !isset($var)(またはis_null($var))を使う

ご参考になれば幸いです。

無料メルマガ配信中