検索

キーワード


目次

【PHP】条件判定(変数の中身をチェックする関数と使い方について)

  • 公開日:2020-10-22 19:37:26
  • 最終更新日:2021-02-05 16:25:38

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

判定

PHPには、対象となる変数が指定した条件を満たしているかをチェックするための関数がいくつか用意されています。

今回はその中でも特によく使う関数を紹介していきます。


empty()

変数が空であるかどうかを検査する関数です。空であればTRUE、空でなければFALSEを返します。

この「空」という状態が非常にややこしいため、次にTRUEと判断されるパターンを記述します。

  • "" (空文字列)
  • 0 (整数 の 0)
  • 0.0 (浮動小数点数の 0)
  • "0" (文字列 の 0)
  • NULL
  • FALSE
  • array() (空の配列)
$var = 0;
var_dump($var);
bool(true)


is_null()

指定した変数が NULL かどうかを調べます。 NULLの場合はTRUEをNULLでない場合はFALSEを返します。

$a = NULL;
$b = 1;
var_dump(is_null($a), is_null($b));
bool(true)
bool(false)


isset()

変数が宣言されていること、そして NULL とは異なることを検査する関数です。

NULL が代入されている変数またはunset関数などで変数が破棄されたものの場合はFALSEを返します。

$var = "";
// 空文字はTRUE扱い
var_dump($var);

$a = "test";
var_dump(isset($a));

// unset関数を使って、変数aを破棄する
unset($a);
var_dump(isset($a));

$hoge = NULL;
var_dump(isset($hoge));
bool(true)
bool(true) bool(false) bool(false)


is_int()

変数が整数型かどうかを検査する関数です。整数型の場合はTRUEを、そうでない場合はFALSEを返します。

$a = 23;
$b = 23.5;
$c = "test";
$d = true;
var_dump(is_int($a));
var_dump(is_int($b));
var_dump(is_int($c));
var_dump(is_int($d));
bool(true)
bool(false) bool(false) bool(false)


is_float()

変数の型が float かどうか調べる関数です。float の場合はTRUEを、そうでない場合はFALSEを返します。

$a = 23;
$b = 23.5;
$c = "test";
$d = true;
var_dump(is_float($a));
var_dump(is_float($b));
var_dump(is_float($c));
var_dump(is_float($d));
bool(false)
bool(true) bool(false) bool(false)

is_bool()

変数の型が boolean かどうか調べる関数です。boolean の場合はTRUEを、そうでない場合はFALSEを返します。

$a = 23;
$b = 23.5;
$c = "test";
$d = true;
var_dump(is_bool($a));
var_dump(is_bool($b));
var_dump(is_bool($c));
var_dump(is_bool($d));
bool(false)
bool(false) bool(false) bool(true)


is_object()

変数がオブジェクトかどうかを検査する関数です。オブジェクトの場合はTRUEを、そうでない場合はFALSEを返します。

// オブジェクトから配列を返す
// シンプルな関数を宣言します
function get_students($obj)
{
    if (!is_object($obj)) {
        return false;
    }

    return $obj->students;
}

// 新しいクラスのインスタンスを宣言し、
// 値を設定します
$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');

var_dump(get_students(null));
var_dump(get_students($obj));


is_array()

変数が配列かどうかを検査する関数です。配列の場合はTRUEを、そうでない場合はFALSEを返します。

$array = [
  "test1",
  "test2",
  "test3"
];
$foo = "hoge";
var_dump(is_array($array));
var_dump(is_array($hoge));
bool(true)
bool(false)


まとめ

PHPでの、変数の中身のチェックを行う関数を紹介してみました。

主に変数の中身によって処理を分岐させたりする際に使うことが多いので、しっかり使い方をマスターしましょう!


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事