PHPで使うたった1つの関数「is_null」の完全ガイド

PHPのis_null関数を用いたコードのサンプルと説明PHP
この記事は約6分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

PHPを学び始めたばかりの皆さん、こんにちは。

初めての言語を学ぶというのは難しく、また、楽しい経験でもありますね。

この記事では、PHPの基本的な関数の1つである「is_null」関数について、初心者から中級者まで全てのレベルの方々が理解できるように、詳しく解説していきます。

この記事を読めば、is_null関数の使い方や応用例、注意点までしっかりと把握することができるでしょう。

●PHPとは

PHPは、サーバーサイドのスクリプト言語として広く使用されています。

Webページの動的な要素を作るのに適しており、フォームから送られてきたデータの処理やデータベースとのやりとりなどを担当します。

PHPでは、値や変数の状態を調べるためのさまざまな関数が提供されています。

その中の1つが、「is_null」関数です。

●is_null関数とは

○is_nullの基本的な使い方

PHPの「is_null」関数は、指定した変数がnullであるかどうかを調べる関数です。

具体的には次のように使います。

$is_null = is_null($variable);

ここで、$variableは評価したい変数で、その変数がnullの場合、is_null関数はtrueを返します。

逆に、変数がnull以外の値を持っている場合はfalseを返します。

○is_null関数の戻り値

また、「is_null」関数の戻り値はブーリアン型(trueまたはfalse)です。

これは、条件分岐(if文など)でよく使われるので、覚えておくと便利です。

●is_null関数の使い方

それでは具体的なコードを見てみましょう。

○サンプルコード1:変数がnullか確認する

次のコードは、変数$varがnullかどうかを確認するためのサンプルです。

$var = null;

if (is_null($var)) {
    echo "変数はnullです。";
} else {
    echo "変数はnullではありません。";
}

この例では、$varにnullを代入しています。

したがって、is_null($var)はtrueを返し、「変数はnullです。」というメッセージが出力されます。

○サンプルコード2:複数の変数がnullか確認する

複数の変数がnullかどうか一度に確認することも可能です。

$var1 = null;
$var2 = 5;

if (is_null($var1) && is_null($var2)) {
    echo "両方の変数はnullです。";
} else {
    echo "少なくとも1つの変数はnullではありません。";
}

このコードでは、$var1にはnullを、$var2には5を代入しています。

したがって、is_null($var1)はtrueを返す一方で、is_null($var2)はfalseを返します。

そのため、「少なくとも1つの変数はnullではありません。」というメッセージが出力されます。

●is_null関数の応用例

is_null関数は単体の変数だけでなく、配列や関数の引数のnullチェックにも活用することができます。

その応用例について見ていきましょう。

○サンプルコード3:配列内のnull値を確認する

配列内にnullが含まれているか確認したい場合、is_null関数とarray_map関数を組み合わせて利用します。

$array = array(1, 2, null, 4, 5);

$arrayIsNull = array_map('is_null', $array);

if (in_array(true, $arrayIsNull)) {
    echo "配列にnullが含まれています。";
} else {
    echo "配列にnullは含まれていません。";
}

このコードでは、まず配列$arrayを定義しています。

その後、array_map関数を使用して配列の各要素にis_null関数を適用し、新しい配列$arrayIsNullを作成しています。

この配列には、元の配列の各要素がnullであるかどうかに応じたブーリアン値(trueまたはfalse)が格納されます。

最後に、in_array関数を使用して$arrayIsNull配列内にtrueが存在するかをチェックし、存在する場合は「配列にnullが含まれています。」、存在しない場合は「配列にnullは含まれていません。」と出力します。

○サンプルコード4:関数の引数がnullか確認する

関数の引数がnullかどうかを確認する際にもis_null関数を使用できます。

function checkNull($arg) {
    if (is_null($arg)) {
        echo "引数はnullです。";
    } else {
        echo "引数はnullではありません。";
    }
}

checkNull(null);  // 出力:引数はnullです。
checkNull(5);  // 出力:引数はnullではありません。

このコードでは、まず関数checkNullを定義しています。

この関数では、引数$argがnullかどうかをis_null関数で確認し、結果に応じてメッセージを出力しています。

次に、この関数を2回呼び出しています。

1回目はnullを引数に、2回目は5を引数にしています。

それぞれの結果、1回目の呼び出しでは「引数はnullです。」、2回目の呼び出しでは「引数はnullではありません。」と出力されます。

●注意点と対処法

○nullと未定義の変数の違い

PHPでは、nullと未定義の変数は異なるものとして扱われます。

未定義の変数は、何も値が設定されていない状態を指します。

一方、nullは明示的に値がないことが設定されている状態を指します。

未定義の変数に対してis_null関数を実行すると、PHPはエラーを出力します。

これを避けるには、変数が定義されていることを確認するisset関数を使用すると良いでしょう。

○issetとemptyとの違い

PHPにはisset関数とempty関数という、変数の値を確認するための別の関数も存在します。

これらの関数とis_null関数との違いを理解することは重要です。

isset関数は、変数が設定されていて、かつその値がnullではない場合にtrueを返します。

一方、empty関数は変数が設定されていないか、その値が空(つまり、0、’0’、false、null、空の配列など)である場合にtrueを返します。

まとめ

PHPのis_null関数は、変数がnullであるかどうかを判断する非常に便利な関数です。

基本的な使い方から応用例まで、この記事を通じてis_null関数の使い方を理解できたことと思います。

コードを書く際には、適切な関数を使用することでより効率的に、そしてエラーの少ないプログラムを作成することが重要です。

それぞれの関数の特性を理解し、最適な場所で使うことができればベストです。