php is_objectでobject型であるかを判定する

  • 作成日 2021.11.09
  • php
php is_objectでobject型であるかを判定する

phpで、is_objectを使用して、object型であるかを判定するサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • php 8.0.0
  • nginx 1.14.1

is_object使い方

is_objectを使用すれば、object型であるかを判定することが可能です。

is_object(変数);
// object型であれば true, なければ falseを返します。

以下は、変数がobject型であるかを判定するサンプルコードとなります。

<?php

var_dump(is_object(new stdClass));
// bool(true)

var_dump(is_object("str"));
// bool(false)

var_dump(is_object("1"));
// bool(false)

var_dump(is_object("1.1"));
// bool(false)

var_dump(is_object(1));
// bool(false)

var_dump(is_object(1.1));
// bool(false)

var_dump(is_object(true));
// bool(false)

var_dump(is_object(false));
// bool(false)

var_dump(is_object(["1", "2", "3"]));
// bool(false)

var_dump(is_object([1.1, 2.2, 3.3]));
// bool(false)

var_dump(is_object(null));
// bool(false)

var_dump(is_object(fopen('hoge.txt', 'r+')));
// bool(false)

以下のコードでも判定可能です。
※パフォーマンスは、基本的にis_objectの方が良さそうです。

<?php

$var = new stdClass;

(object)$var === $var;
// bool(true)

$var = 1;

(object)$var === $var;
// bool(false)