PHP

【PHP】変数の中身が空か判定するempty関数の使い方

本記事では、PHPで変数の中身が空の状態か判定することが出来るempty関数の使い方について解説しています。

PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

本書情報
著者谷藤 賢一
発売日2017/3/6
ページ数331ページ
Kindle版
レビュー
(Amazon)
(168件)

参考書が苦手な人はUdemyの動画がおすすめ
ちゃんと学ぶ、PHP+MySQL(MariaDB)入門講座

動画情報
作成者たにぐち まこと
学習時間11時間
受講者数24,526人
レビュー (4,518件)
動画の詳細はこちら

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

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村