関数 is_a
関数 is_aは、オブジェクトとクラス名を受け取り、オブジェクトがそのクラスまたはその子クラスのインスタンスである場合に trueを返します。第3引数で継承を考慮するかどうかを指定できます(デフォルトは true)。
構文
is_a(object, class_name, allow_string = true);
例
オブジェクトが stdClassクラスに属しているか確認します:
<?php
$obj = new stdClass();
var_dump(is_a($obj, 'stdClass'));
?>
コード実行結果:
true
例
クラスの継承を確認します:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$child = new ChildClass();
var_dump(is_a($child, 'ParentClass'));
?>
コード実行結果:
true
例
インターフェースとの連携動作を確認します:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$obj = new MyClass();
var_dump(is_a($obj, 'MyInterface'));
?>
コード実行結果:
true
関連項目
-
is_subclass_of関数
継承関係をチェックします -
instanceof関数
インスタンスチェック演算子 -
get_class関数
オブジェクトのクラス名を返します -
class_implements関数
クラスが実装するインターフェースを返します