IT・WEB・ゲーム業界の転職に強いR-Stone

転職コラム

【PHP初心者向け】empty関数の使い方をわかりやすく解説

PHPプログラミングで、変数の状態確認は重要です。確認が必要なとき、empty関数は変数が「空」かどうかを簡単に判定できる便利な関数です。

本記事では、empty関数の基本的な使い方から、isset関数やis_null関数との違い、活用方法まで、初心者の方にもわかりやすく解説します。

empty関数を使いこなせば、より効率的で安全なコーディングが可能になります。ぜひ、この機会にempty関数の魅力を探ってみましょう。

 

あなたに合った仕事が必ず見つかる!
IT・WEB・ゲーム業界の案件が3,000件以上!!

PHPのempty関数とは

empty関数は、PHPで変数が「空」かどうかを判定するための関数です。empty関数は、変数が存在しない場合や、値が空と見なされる場合にtrueを返します。

具体的には、以下のような場合にempty関数はtrueを返します。

  • ・変数がnullの場合
  • ・変数が未定義の場合
  • ・変数が空の文字列(“”)の場合
  • ・変数が数値の0の場合
  • ・変数が空の配列([])の場合
  • ・変数がfalseの場合

empty関数は、上記を一括して「空」と判定できるため、変数の状態を簡単に確認できます。

null判定について

nullとは、PHP言語で値を持たない状態を示す特別な値です。

null判定では、変数がnull値を含んでいないか、変数の使用前に確認します。

empty関数は、null値も「空」として扱うため、nullの判定に使えます。

もし、厳密に変数がnull値か判定したい場合は、is_null関数や===演算子を使用できます。

isset関数との違い

isset関数とempty関数は、どちらも変数の状態を確認するために使われますが、判定の基準が異なります。

isset関数は、変数が定義されていてnullでない場合にtrueを返します。

一方、empty関数は変数の値が「空」かどうかを判定します。

is_null関数との違い

is_null関数は、変数がnullかどうかのみを判定します。

一方、empty関数は、nullを含むさまざまな「空」の状態を判定します。

empty・issetとは異なり、変数が存在しない場合にis_null関数を使用すると、警告が発生するためご注意ください。

empty関数でできること

empty関数を使うと、以下のようなことが可能になります。

まず、変数の存在チェックと値の評価を同時におこなえます。empty関数は、変数が存在しない場合や、値が空と見なされる場合(例えば、空文字列、0、null、false、空の配列など)にtrueを返します。

empty関数により、変数の存在確認と値のチェックを1行で簡潔におこなえます。

フォーム入力の検証にも使えます。ユーザーがフォームに必要な情報を入力したかどうかを確認する際に、empty関数を使うと簡単にチェックでき、必須項目の入力漏れを防ぐことができます。

empty関数の基本的な使い方

empty関数は、変数が存在しない場合でもエラーを発生させないため、安全に使用できます。

以下は、empty関数の基本的な使用例です。

$var1 = “”;

$var2 = 0;

$var3 = “Hello”;

 

var_dump(empty($var1)); // 出力: bool(true)

var_dump(empty($var2)); // 出力: bool(true)

var_dump(empty($var3)); // 出力: bool(false)

var_dump(empty($undefinedVar)); // 出力: bool(true)

上記の例では、空の文字列や0は空として扱われ、trueが返されます。一方、“Hello”のように空でない場合はfalseを返します。また、未定義の変数もtrueを返します。

empty関数の書き方

empty関数の基本的な構文はシンプルです。以下のように記述します。

empty(変数)

変数には、チェックしたい変数や式を指定します。empty関数は、指定された変数や式が空かどうかを確認し、結果をブール値(trueかfalse)で返します。

配列の要素やオブジェクトのプロパティに対しても、empty関数を使用できます。以下に例を示します。

$array = [‘key’ => ‘value’];

var_dump(empty($array[‘key’])); // 出力: bool(false)

var_dump(empty($array[‘未設定’])); // 出力: bool(true)

 

$object = new stdClass();

$object->property = ‘value’;

var_dump(empty($object->property)); // 出力: bool(false)

var_dump(empty($object->nonexistent)); // 出力: bool(true)

上記の例では、存在する配列の要素やオブジェクトのプロパティに対してはfalseを、存在しない要素やプロパティに対してはtrueを返しています。

empty関数は、条件文で頻繁に使用されます。以下は、フォームの入力値をチェックする例です。

if (empty($_POST[‘username’])) {

    echo “ユーザー名を入力してください。”;

} else {

    $safe_name = htmlspecialchars($_POST[‘username’]);

    echo “ようこそ、{$safe_name}さん!”;

}

上記の例では、POSTデータの’username’キーが空かどうかをチェックしています。空の場合はエラーメッセージを表示し、空でない場合は歓迎メッセージを表示します。

まとめ

empty関数は、PHPで変数の「空」状態を簡単に確認できる関数です。

変数の存在チェックと値の評価を同時におこなえ、配列要素やオブジェクトのプロパティにも使用可能です。

コードの簡潔さと可読性を向上させる効果があるため、PHPプログラミングで活用してみてはいかがでしょうか。