【PHP】NULL判定の方法

PHPでプログラミングを行う際、変数がNULLかどうかを判断することはよくあります。NULLは、変数が値を持っていないことを示す特別な値です。ここでは、PHPでNULLを判定するための代表的な方法について説明します。

is_null() 関数を使ったNULL判定

is_null() 関数は、変数がNULLであるかどうかを判断するための最も直接的な方法です。この関数は、変数がNULLであればtrueを、それ以外の場合はfalseを返します。

$var = null;

if (is_null($var)) {
    echo '$var は NULL です。';
} else {
    echo '$var は NULL ではありません。';
}

厳密な比較演算子 === を使用する

=== 演算子を使用して、変数がNULLと厳密に等しいかどうかをチェックできます。この方法は型も比較するため、変数がNULLであることを明確に判定できます。

$var = null;

if ($var === null) {
    echo '$var は NULL です。';
} else {
    echo '$var は NULL ではありません。';
}

empty() 関数による空判定

empty() 関数は、変数が「空」であるかどうかをチェックします。NULLの他にも、0、空文字列、空配列なども「空」と見なされます。

$var = null;

if (empty($var)) {
    echo '$var は空です。';
} else {
    echo '$var は空ではありません。';
}

empty() 関数はNULL以外の値も空として扱うため、他の用途で使う際は注意が必要です。

isset() 関数で変数の設定状態を確認する

isset() 関数は、変数が設定されており、かつNULLでないことを確認します。変数が未定義の場合もfalseを返します。

$var = null;

if (isset($var)) {
    echo '$var は設定されていますが、NULL ではありません。';
} else {
    echo '$var は NULL または未定義です。';
}

まとめ

PHPでNULLを判定する方法には、is_null()関数、厳密比較演算子===、empty()関数、isset()関数の4つがあります。それぞれの方法は異なる状況で役立つため、用途に応じて適切な方法を選択してください。これらのテクニックを使いこなすことで、より安定したコードを書くことができるでしょう。