本記事では、PHPで変数の中身が空の状態か判定することが出来るempty関数の使い方について解説しています。
PHPの学習におすすめ書籍
独習PHP 第4版

メリット
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる


Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!



初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード


メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)


目次
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が返され元の値が変更されていないことが確認できます。