関数 is_a

関数 is_aは、オブジェクトとクラス名を受け取り、オブジェクトがそのクラスまたはその子クラスのインスタンスである場合に trueを返します。第3引数で継承を考慮するかどうかを指定できます(デフォルトは true)。

構文

phpis_a(object, class_name, allow_string = true);

例

オブジェクトが stdClassクラスに属しているか確認します:

php<?php
  $obj = new stdClass();
  var_dump(is_a($obj, 'stdClass'));
?>

コード実行結果:

phptrue

例

クラスの継承を確認します:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}
  
  $child = new ChildClass();
  var_dump(is_a($child, 'ParentClass'));
?>

コード実行結果:

phptrue

例

インターフェースとの連携動作を確認します:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}
  
  $obj = new MyClass();
  var_dump(is_a($obj, 'MyInterface'));
?>

コード実行結果:

phptrue

関連項目

  • is_subclass_of関数
    継承関係をチェックします
  • instanceof関数
    インスタンスチェック演算子
  • get_class関数
    オブジェクトのクラス名を返します
  • class_implements関数
    クラスが実装するインターフェースを返します