本記事では、PHPで変数の中身が空の状態か判定することが出来るempty関数の使い方について解説しています。
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!
empty関数とは
emptyとは、変数の値が空の状態であるかどうかを判定することができる関数です。empty関数の空の状態とは「空文字」「0 or ‘0’」「null」「false」「array()」のことを指します。
empty関数を使う上での注意点は、数値・文字列の0でも空の状態であると判断されてしまうことです。これは0がfalsyな値として判断されているためです。
empty関数の使い方
empty関数の使い方は以下のとおりです。
<?php
$num = null;
$num = empty($num) ? 1: $num;
?>
empty関数の使い方
- empty関数の引数:値が空の状態であるか判定したい変数を設定
- true:引数で設定した変数が空の状態である
- false:引数で設定した変数に値がセットされている状態

【PHP】if文を省略して記述する三項演算子の書き方・使い方本記事では、条件分岐のif文を省略して記述することができる三項演算子の書き方・使い方について解説しています。...
変数の中身が空か判定するサンプルコード
最後にempty関数を使った変数の中身が空か判定するサンプルコードを紹介します。
下記のサンプルコードでは、変数に代入されている値が空の状態かをempty関数で判定します。変数の値が空である場合は初期値として1を返します。変数の値が空でない場合は元の値を返します。
<?php
/* ↓1回目の処理 */
$num = 0;
$num = check_val($num);
print_r($num); // -> 1
/* ↓2回目の処理 */
$num = 100;
$num = check_val($num);
print_r($num); // -> 100
function check_val($val){
return empty($val) ? 1 : $val;
}
?>
1回目の処理では変数$numに0が代入されているため、empty関数で値が空の状態と見なされtrueが返され初期値として数値の1が代入されていることが確認できます。
2回目の処理では変数$numに100が代入されているため、empty関数で値が空ではと見なされfalseが返され元の値が変更されていないことが確認できます。