instanceof演算子

演算子 instanceof は、オブジェクトが指定されたクラスまたはその継承クラスのインスタンスであるかをチェックします。 第一引数にオブジェクトを受け取り、第二引数にチェックするクラス名を指定します。 オブジェクトがクラスに属している場合は true を、そうでない場合は false を返します。

構文

php$object instanceof ClassName;

例

オブジェクトがクラス MyClass のインスタンスであるかをチェックします:

php<?php
  class MyClass {}
  $obj = new MyClass();
  var_dump($obj instanceof MyClass);
?>

コード実行結果:

phptrue

例

クラスの継承関係をチェックします:

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

コード実行結果:

phptrue

例

オブジェクトがクラスのインスタンスでないことをチェックします:

php<?php
  class A {}
  class B {}
  
  $a = new A();
  var_dump($a instanceof B);
?>

コード実行結果:

phpfalse

関連項目

  • 関数 get_class,
    これはオブジェクトのクラス名を返します
  • 関数 is_a,
    これはオブジェクトがクラスに属しているかをチェックします